DE102022131051A1 - Verschaltungsnetzwerk für mehrfachkachel-system-auf-chips - Google Patents

Verschaltungsnetzwerk für mehrfachkachel-system-auf-chips Download PDF

Info

Publication number
DE102022131051A1
DE102022131051A1 DE102022131051.5A DE102022131051A DE102022131051A1 DE 102022131051 A1 DE102022131051 A1 DE 102022131051A1 DE 102022131051 A DE102022131051 A DE 102022131051A DE 102022131051 A1 DE102022131051 A1 DE 102022131051A1
Authority
DE
Germany
Prior art keywords
global
local
network
local area
endpoints
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
DE102022131051.5A
Other languages
English (en)
Inventor
Abhishek Reddy Pamu
Lakshminarayana Pappu
David J. Harriman
Ramadass Nagarajan
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 DE102022131051A1 publication Critical patent/DE102022131051A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/54Organization of routing tables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/72Routing based on the source address
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • G06F15/7825Globally asynchronous, locally synchronous, e.g. network on chip

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Eine Einrichtung umfasst eine erste Kachel, umfassend eine erste Instanz einer Mehrzahl von globalen Endpunkten und eine erste Instanz einer Mehrzahl von lokalen Netzwerken, umfassend eine Mehrzahl von lokalen Endpunkten; wobei ein Verschaltungsnetzwerk der ersten Kachel mit einem Verschaltungsnetzwerk einer zweiten Kachel koppeln soll, wobei die zweite Kachel eine zweite Instanz der Mehrzahl von globalen Endpunkten umfasst und eine zweite Instanz der Mehrzahl von lokalen Netzwerken die Mehrzahl von lokalen Endpunkten umfasst; wobei das Verschaltungsnetzwerk einen Adressraum nutzt, der eindeutige Kennungen für die Mehrzahl von globalen Endpunkten der ersten und zweiten Kachel; und nicht eindeutige Kennungen für die Mehrzahl von lokalen Endpunkten der ersten und zweiten Kachel umfasst, wobei nicht eindeutige Kennungen in mehreren lokalen Netzwerken der Mehrzahl von lokalen Netzwerken der ersten und zweiten Kachel wiederverwendet werden.

Description

  • HINTERGRUND
  • Ein System kann eine beliebige Anzahl symmetrischer Kacheln beinhalten, die eine Schaltungsanordnung beinhalten. Eine Kachel kann einen oder mehrere Halbleiterchips umfassen, die eine Schaltungsanordnung umfassen. Zum Beispiel kann eine Kachel ein System-on-Chip (SoC) implementieren. Jede Kachel kann eine Anzahl von Endpunkten umfassen. Endpunkte können mit anderen Endpunkten kommunizieren, um den Betrieb des Systems zu erleichtern.
  • Figurenliste
    • 1 veranschaulicht ein Verschaltungsnetzwerk für ein Mehrfachkachel-System gemäß bestimmten Ausführungsformen.
    • 2 veranschaulicht eine Brücke des Verschaltungsnetzwerks gemäß bestimmten Ausführungsformen.
    • 3 veranschaulicht ein Verschaltungsnetzwerk für ein Zwei-Kachel-System und entsprechende Routing-Tabellen gemäß bestimmten Ausführungsformen.
    • 4 veranschaulicht ein Verschaltungsnetzwerk für ein Vierkachel-System gemäß bestimmten Ausführungsformen.
    • 5 veranschaulicht Routing-Tabellen für Router des Verschaltungsnetzwerks aus 4 gemäß bestimmten Ausführungsformen.
    • 6 veranschaulicht einen Ablauf zum Konfigurieren eines MehrfachkachelSystems gemäß bestimmten Ausführungsformen.
    • 7 veranschaulicht ein beispielhaftes Computersystem gemäß bestimmten Ausführungsformen.
    • 8 veranschaulicht ein Blockdiagramm von in einem Rechensystem vorhandenen Komponenten gemäß verschiedenen Ausführungsformen.
    • 9 veranschaulicht ein Blockdiagramm eines anderen Rechensystems gemäß verschiedenen Ausführungsformen.
  • Gleiche Bezugszeichen und Bezeichnungen in den verschiedenen Zeichnungen geben gleiche Elemente an.
  • AUSFÜHRLICHE BESCHREIBUNG
  • 1 veranschaulicht ein Verschaltungsnetzwerk für ein Mehrfachkachel-System 100 gemäß bestimmten Ausführungsformen. Das System 100 weist eine erste Kachel 102A und eine zweite Kachel 102B auf. Eine Kachel kann eine beliebige Anzahl von Dies (z. B. Halbleiterchips) beinhalten und eine beliebige geeignete Anzahl von Kacheln kann in dem System 100 enthalten sein. Bei einer Ausführungsform können die Kacheln des Systems 100 in demselben Halbleitergehäuse enthalten sein. Bei verschiedenen Ausführungsformen ist die Schaltungsanordnung der Kacheln symmetrisch, sodass wenigstens eine wesentliche Mehrheit der auf einer der Kacheln enthaltenen Schaltungsanordnung auch auf jeder der anderen Kacheln enthalten ist. Somit kann die Schaltungsanordnung der Kacheln identisch oder im Wesentlichen identisch sein (obwohl die Schaltungsanordnung möglicherweise unterschiedlich auf den Kacheln ausgerichtet ist oder nicht, um z. B. Zwischenverbindungen der Schaltungsanordnung der Kacheln zu ermöglichen). In der dargestellten Ausführungsform beinhaltet jede Kachel einen jeweiligen Primär-Die 104 und einen Begleit-Die 106 (in anderen Ausführungsformen kann eine Kachel 102 eine beliebige Anzahl von Begleit-Dies, die mit dem Primär-Die 104 gekoppelt sind, oder keine Begleit-Dies beinhalten). In der dargestellten Ausführungsform beinhaltet ein Primär-Die 104 eine beliebige Anzahl lokaler Netzwerke 108 (z. B. 108a-108N) und ein globales Netzwerk 110 (z. B. 110A oder 110B). Obwohl sich die globalen Netzwerke in der gezeigten Ausführungsform nicht auf die Begleit-Dies 106 ausdehnen, können die Begleit-Dies in anderen Ausführungsformen auch einen Teil eines globalen Netzwerks 110 beinhalten.
  • Skalierbarkeit ist eine wünschenswerte Qualität für ein Kommunikationsnetzwerk über mehrere Kacheln hinweg. Das Netzwerk auf jeder Kachel kann dasselbe physische Netzwerk sein (da die Kacheln z. B. identisch oder im Wesentlichen identisch sind), die Netzwerke können sich jedoch logisch unterscheiden, um eine kachelübergreifende Kommunikation zu ermöglichen. Das Aufbauen eines eindeutigen Netzwerks über jede Kachel ist aufgrund von Kosten oder anderen Einschränkungen möglicherweise nicht durchführbar. Das einfache Aufteilen der verfügbaren Netzwerkportkennungen zwischen den verschiedenen Dies kann zu Skalierungsproblemen führen, wenn die Anzahl von Endpunkten (EPs) und Kacheln zunimmt. Kachelübergreifende Brücken mit einer vorkonfigurierten Abbildung (z. B. programmiert durch SoC-Firmware) können Kommunikation zwischen einem eingeschränkten Satz von EPs ermöglichen, falls aber ein Problem auf dem Gehäuse auftritt, bevor die Programmierung abgeschlossen ist, wird das Netzwerk unbrauchbar.
  • Verschiedene Ausführungsformen der vorliegenden Offenbarung stellen ein skalierbares Kommunikationsnetzwerk für disaggregierte Mehrfachkachel-SoCs bereit. Das Netzwerk kann eine beliebige Anzahl lokaler Netzwerke 108 (z. B. 108A, 108B, ... 108N) beinhalten, die jeweilige lokale EPs koppeln, sowie globale Netzwerke 110, die kollektiv globale EPs (z. B. IP-Blöcke (Intellectual Property-Blöcke), die in 1 als IP1-IP8 veranschaulicht sind) an andere globale EPs und an die lokalen EPs der lokalen Netzwerke 108 koppeln.
  • Bei verschiedenen Ausführungsformen wird die Skalierbarkeit durch Zuweisen, aus einem Pool von EP-Kennungen, eindeutiger Kennungen zu jedem der globalen EPs und dann Ermöglichen einer Wiederverwendung verbleibender EP-Kennungen im Pool durch die lokalen Netzwerke, um die lokalen EPs zu identifizieren, behandelt. Als ein Beispiel kann der Pool von Kennungen durch einen 8-Bit-Adressraum definiert werden, wodurch ein Pool von 256 Kennungen bereitgestellt wird. Wenn eine Anzahl X von Kennungen für eine Anzahl (X) globaler EPs verwendet wird, können bis zu 256 - X verbleibende Kennungen von den lokalen Netzwerken 108 für die lokalen EPs verwendet werden. Wenn zum Beispiel 200 Kennungen für die globale EPs zugeordnet werden, kann jedes lokale Netzwerk 108 dann beliebige (oder alle) der verbleibenden 56 Kennungen (z. B. 0-55, falls die höheren Werte der Kennungen für die globale EPs verwendet werden) für seine lokalen EPs verwenden. Demgemäß kann, in diesem Beispiel, das lokale Netzwerk 108A bis zu 56 lokale EPs aufweisen, kann das lokale Netzwerk 108B auch bis zu 56 lokale EPs aufweisen usw. (da die Kennungen in jedem lokalen Netzwerk 108 wiederverwendet werden können). Somit können die Kennungen für die lokale EPs innerhalb unterschiedlicher lokaler Netzwerke derselben Kachel und über mehrere Kacheln 102 hinweg wiederverwendet werden.
  • In einigen Ausführungsformen können eine oder mehrere Kennungen des Adressraums für Multicast- oder Broadcast-Kommunikationen innerhalb der lokalen Netzwerke 108 reserviert sein (zum Beispiel kann eine Nachricht mit einer Kennung, die einer Broadcast-Kommunikation entspricht, an alle anderen lokalen EPs innerhalb desselben lokalen Netzwerks gesendet werden).
  • Um eine Kommunikation zwischen globalen EPs und lokalen EPs zu ermöglichen, kann jedem lokalen Netzwerk 108 eine lokale Netzwerkkennung zugewiesen werden, so dass ein globaler EP eine lokale Netzwerkkennung und eine lokale EP-Kennung verwenden kann, um einen bestimmten lokalen EP zu erreichen. Nachrichten, die von einem lokalen Netzwerk 108 an ein globales Netzwerk 110 weitergeleitet werden, können die an sie angehängte lokale Netzwerkkennung aufweisen, und Nachrichten, die von einem globalen Netzwerk 110 an ein lokales Netzwerk 108 weitergeleitet werden, können lokale Netzwerkkennung aufweisen, die entfernt (oder ignoriert) wurde.
  • Verschiedene Ausführungsformen können Multi-Routing-Tabellenrouter (RT-Router) 114 (z. B. 114A, 114B) zum Konfigurieren eines physischen Netzwerks auf einer Kachel (z. B. 102A), die das gleiche wie das physische Netzwerk auf einer anderen Kachel (z. B. 102B) ist, beinhalten, um als ein anderes logisches Netzwerk zu fungieren. Die Multi-RT-Router können mehrere Routing-Tabellen beinhalten (z. B. eine für jede Kachel in dem System 100, da jede Kachel einen identischen Multi-RT-Router beinhalten kann), es wird jedoch nur eine Routing-Tabelle pro Router 114 verwendet, um Verkehr zu routen, wobei die Routing-Tabelle, die von einem bestimmten Router 114 verwendet wird, basierend auf einem Parameter (z. B. einer Kennung der Kachel 102, auf der sich der jeweilige Router befindet) ausgewählt wird. Da die Routing-Tabellen statisch aufgebaut sind (z. B. kann der ausgewählte Parameterwert für jeden Router in die Schaltungsanordnung der RT-Router 114 gestaltet werden), kann das Netzwerk funktionsfähig sein, ohne dass eine Programmierung der Router vor dem Betrieb erforderlich ist (somit müssen die Router bei manchen Ausführungsformen keine Firmwareunterstützung bereitstellen).
  • Das Verwenden der Multi-RT-Router 114 in Verbindung mit hierarchischen Netzwerken erleichtert das Koppeln eines oder mehrerer lokaler Netzwerke 108 von Begleit-Dies 106 mit den Primär-Dies 104 und reduziert die Anzahl von Multi-RT-Routern, die im Netzwerk erforderlich sind, erheblich, ohne signifikante Flächen- oder Leistungseinbußen hinzuzufügen. Die Kategorisierung der EPs in lokale und globale Pools kann die Größe des Routingnetzwerks reduzieren, ohne die Funktionalität des Chips übermäßig zu beschränken.
  • Bei einigen Ausführungsformen können Adressen (zum Beispiel Kennungen) für Verkehr innerhalb der lokalen Netzwerke 108 kürzer sein als Adressen für Verkehr innerhalb des globalen Netzwerks 110. Zum Beispiel können Adressen innerhalb der lokalen Netzwerke 8 Bit lang sein, während Kennungsadressen innerhalb des globalen Netzwerks 110 16 Bit lang sind, wodurch niedrige Routing-Kosten verursacht werden, während eine nahtlose Kommunikation über die Kacheln ermöglicht wird.
  • Ein EP (z. B. ein globaler EP oder ein lokaler EP) kann eine beliebige geeignete Schaltungsanordnung umfassen, um Nachrichten (z. B. Pakete) zu sourcen oder Nachrichten aus einem Netzwerk (z. B. einem lokalen Netzwerk 108 oder einem globalen Netzwerk 110) zu senken. Ein lokales Netzwerk kann lokale EPs beinhalten, die mit anderen EPs des gleichen lokalen Netzwerks und/oder mit einem beliebigen oder mehreren der globalen EPs kommunizieren können, aber nicht mit lokalen EPs eines anderen lokalen Netzwerks kommunizieren können. Ein globaler EP kann mit einem oder mehreren anderen globalen EPs und/oder mit einem oder mehreren lokalen EPs eines oder mehrerer lokaler Netzwerke 108 kommunizieren. Als einige Beispiele könnte ein globaler EP eine Leistungsverwaltungssteuerung, eine Sicherheitssteuerung, einen Sicherungsdatenverteiler oder eine andere Logik beinhalten, die mit einem oder mehreren EPs einer anderen Kachel oder mehreren unterschiedlichen lokalen Netzwerken 108 kommunizieren kann.
  • Das Routing von Nachrichten (z. B. Paketen) innerhalb des Netzwerks nutzt Routing auf Kennungsbasis (ID-Basis). Eine zwischen EPs gesendete Nachricht kann einen Header beinhalten, der Routinginformationen beinhaltet (z. B. eine Ziel-EP-ID und eine Quellen-EP-ID). Der Header kann einen globalen Header und einen lokalen Header beinhalten. In einem Beispiel kann der globale Header den gleichen Abschnitt (z. B. ein höchstwertiges Byte) der Quell- und Ziel-IDs beinhalten, während ein lokaler Header einen anderen Abschnitt (z. B. das niedrigstwertige Byte) der Quell- und Ziel-IDs beinhalten kann. Bei verschiedenen Ausführungsformen beinhalten Nachrichten, die innerhalb eines lokalen Netzwerks 108 kommuniziert werden, nur den lokalen Header, während Nachrichten, die innerhalb eines globalen Netzwerks 110 kommuniziert werden, den vollen Header (z. B. den lokalen Header und den globalen Header) beinhalten. In einem Beispiel können IDs, die in dem globalen Netzwerk 110 verwendet werden, 16-Bit-IDs sein, wobei das erste Byte als der globale Header (z. B. zum Navigieren des globalen Netzwerks) verwendet wird und das zweite Byte als der lokale Header verwendet wird (z. B. zum Navigieren innerhalb eines lokalen Netzwerks), während IDs, die nur in einem lokalen Netzwerk 108 verwendet werden, 8-Bit-IDs sein können (z. B. nur ein lokaler Header).
  • Wenn der lokale Header 8 Bit lang ist, ist der verfügbare Adressraum, der EPs zuzuweisen ist, maximal 2^8 = 256 IDs. Jede globale EP-ID (die einen globalen EP identifiziert) kann eine eindeutige 8-Bit-ID in diesem Adressraum sein. Die globalen EP-IDs werden in alle lokalen Netzwerke 108 aliasiert, sodass die globalen EP-IDs nicht verwendet werden dürfen, um einen lokalen EP in den lokalen Netzwerken zu identifizieren, und somit ist der lokale Adressraum (der Adressraum, der lokalen EPs zugewiesen wird) kleiner als 256 IDs (z. B. ist der lokale Adressraum der verfügbare Adressraum minus der Anzahl globaler EP-IDs minus beliebiger anderer reservierter Adressen, wie etwa Adressen, die für Multicast oder Broadcast verwendet werden). Der lokale Adressraum kann dann für lokale EP-IDs verwendet werden, die nur innerhalb jedes lokalen Netzwerks 108 eindeutig sind (somit kann ein lokales Netzwerk 108 dieselben lokalen 8-Bit-EP-IDs verwenden, die von einem anderen lokalen Netzwerk verwendet werden).
  • Zur Veranschaulichung könnten unter der Annahme, dass 128 lokale EP-IDs verfügbar sind, die lokalen Netzwerke 108A der verschiedenen Kacheln jeweils lokale EPs mit lokalen EP-IDs im Bereich von 0x00 bis 0x7F beinhalten, lokale Netzwerke 108B der Kacheln könnten jeweils lokale EPs mit lokalen EP-IDs im Bereich von 0x00 bis 0x5A beinhalten und lokale Netzwerke 108N der Kacheln könnten jeweils lokale EPs mit lokalen EP-IDs im Bereich von 0x00 bis 0x40 beinhalten. In diesem Beispiel würden die lokalen EP-IDs 0x00 bis 0x40 jeweils in jedem der lokalen Netzwerke 108A, 108B und 108N verwendet werden, die lokalen EP-IDs 0x41 bis 0x5A würden jeweils in jedem der lokalen Netzwerke 108A und 108B verwendet werden, und die lokalen EP-IDs 0x5B bis 0x7F würden jeweils nur in den lokalen Netzwerken 108A verwendet werden. Die Anzahl von lokalen EPs, die in diesem Beispiel verwendet werden, ist willkürlich, und ein System kann mit einer beliebigen geeigneten Anzahl von lokalen EPs in einer beliebigen geeigneten Anzahl von lokalen Netzwerken 108 konfiguriert sein.
  • Lokale EPs können mit anderen lokalen EPs im gleichen lokalen Netzwerk 108 oder mit globalen EPs unter Verwendung nur eines lokalen Headers kommunizieren, da die Ziel-ID im lokalen Header einen globalen EP oder einen lokalen EP im gleichen lokalen Netzwerk 108 eindeutig identifizieren kann. Ein globaler EP kann mit anderen globalen EPs oder mit lokalen EPs unter Verwendung sowohl eines globalen als auch eines lokalen Headers kommunizieren, wobei der globale Header verwendet wird, um
  • Jedem lokalen Netzwerk 108 wird eine lokale Netzwerk-ID im globalen Raum zugewiesen (z. B. der Adressraum, der durch mindestens einen Abschnitt des globalen Headers definiert ist). Eine lokale Netzwerk-ID kann in einem globalen Header einer Nachricht enthalten sein, die von einem globalen EP erzeugt wird, und kann verwendet werden, um eine Nachricht zu einem spezifischen lokalen Netzwerk zu senden, während der lokale Header eine lokale EP-ID beinhalten kann (um einen spezifischen EP innerhalb des lokalen Netzwerks zu erreichen, das von dem globalen Header adressiert wird). Da die globalen EP-IDs im Adressraum für die EPs eindeutig sind, kann ein lokaler EP oder ein globaler EP mit einem globalen EP unter Verwendung der globalen EP-ID (z. B. einer 8-Bit-ID) im lokalen Header kommunizieren.
  • 2 veranschaulicht eine Brücke 116 des Verschaltungsnetzwerks in Übereinstimmung mit bestimmten Ausführungsformen. Unter gemeinsamer Bezugnahme auf 1 und 2 kann eine Brücke 116 ein lokales Netzwerk 108 mit einem globalen Netzwerk 110 koppeln. Eine Brücke 116 kann den globalen Header einer Nachricht entfernen, wenn eine Nachricht von einem globalen Netzwerk 110 über die Brücke zu einem lokalen Netzwerk 108 fließt. Eine Brücke 116 kann einen globalen Header anhängen, wenn eine Nachricht von einem lokalen Netzwerk 108 zu einem globalen Netzwerk 110 fließt. Die Quellen-ID in einem globalen Header, der von einer Brücke angehängt wird, ist die lokale Netzwerk-ID, die ein fester Wert ist und als ein Strap an die Brücke 116 fungiert, die den globalen Header anhängt. Die Ziel-ID eines globalen Headers, der von einer Brücke 116 angehängt wird, kann eine Kopie der Ziel-ID im lokalen Header oder ein anderer geeigneter Wert (z. B. alle Nullen) sein, da die globale EP-ID im globalen Adressraum und im lokalen Adressraum gleich sein kann.
  • In der dargestellten Ausführungsform beinhaltet die Brücke 116 einen globalen Handler 206 zum Bilden einer Schnittstelle mit einem globalen Netzwerk 110 (z. B. über einen Router 114 des globalen Netzwerks 110), um Nachrichten vom globalen Netzwerk zu empfangen und ausgehende Nachrichten an das globale Netzwerk zu senden. Die Brücke 116 beinhaltet auch einen lokalen Handler 210 zum Bilden einer Schnittstelle mit einem lokalen Netzwerk 108 (zum Beispiel über einen Router 112 des lokalen Netzwerks 108), um Nachrichten von dem lokalen Netzwerk zu empfangen und eingehende Nachrichten an das lokale Netzwerk zu senden. Die Brücke 116 beinhaltet auch einen Global-zu-Lokal-Übersetzer 208 zum Umwandeln einer Nachricht von einem globalen Netzwerkformat in ein lokales Netzwerkformat (z. B. durch Entfernen des globalen Headers aus der Nachricht) und einen Lokal-zu-Global-Übersetzer 212 zum Umwandeln einer Nachricht von einem lokalen Netzwerkformat in ein globales Netzwerkformat (z. B. durch Anhängen eines globalen Headers an die Nachricht).
  • Als diverse Beispiele kann, wenn ein lokaler EP eine Nachricht an einen anderen lokalen EP desselben lokalen Netzwerks 108 sendet, die Nachricht einen lokalen Header mit einer Quellen-ID der lokalen EP-ID des übertragenden EP und einer Ziel-ID der empfangenden lokalen EP-ID beinhalten (wobei kein globaler Header benötigt wird und somit weggelassen oder eingeschlossen und ignoriert werden kann). Wenn ein lokaler EP eine Nachricht an einen globalen EP sendet, kann die Nachricht einen lokalen Header mit einer Quellen-ID der lokalen EP-ID des übertragenden EP und einer Ziel-ID der empfangenden globalen EP-ID beinhalten (wobei kein globaler Header benötigt wird und somit weggelassen oder eingeschlossen und ignoriert werden kann). Die Nachricht kann später durch eine Brücke 116 modifiziert werden, um den globalen Header anzuhängen, der eine Quellen-ID des lokalen Netzwerks 108 des übertragenden lokalen EP und eine Ziel-ID beinhaltet, die eine Kopie der globalen EP-ID (oder ein anderer geeigneter Wert) sein kann. Wenn ein globaler IP eine Nachricht an einen anderen globalen IP sendet, kann die Nachricht einen lokalen Header mit einer Quellen-ID der globalen EP-ID des übertragenden globalen EP und einer Ziel-ID der empfangenden globalen EP-ID sowie einen globalen Header einschließlich einer Quellen-ID und Ziel-ID beinhalten, die eine Kopie der Quellen-ID und Ziel-ID des lokalen Headers (oder andere geeignete Werte) ist. Wenn schließlich ein globaler EP eine Nachricht an einen lokalen EP sendet, kann die Nachricht einen lokalen Header mit einer Quellen-ID der globalen EP-ID des übertragenden globalen EP und einer Ziel-ID der empfangenden lokalen EP-ID sowie einen globalen Header einschließlich einer Quellen-ID beinhalten, die eine Kopie der Quellen-ID des lokalen Headers (oder ein anderer geeigneter Wert) ist, und einer Ziel-ID, die die lokale Netzwerk-ID des empfangenden lokalen EP beinhaltet.
  • Erneut Bezug nehmend auf 1 können die Router 114 (z. B. 114A und 114B) des globalen Netzwerks 110 Multi-RT-Router sein. Eine Routing-Tabelle kann eine Mehrzahl von Routing-Tabelleneinträgen umfassen, wobei ein Routing-Tabelleneintrag eine Logikport-ID (z. B. einen globalen Header-Abschnitt einer Ziel-ID oder die vollständige Ziel-ID, einschließlich sowohl des globalen Header-Abschnitts als auch des lokalen Header-Abschnitts) auf einen physischen Port des Routers 114 abbilden kann. Ein Router kann eine Ziel-ID einer eingehenden Nachricht und die entsprechende Abbildung für diese ID überprüfen, um den physischen Port des Routers zu finden, auf dem die Nachricht gesendet werden soll. Ein Multi-RT-Router 114 ist ein spezieller Router, der mehrere Routing-Tabellen, nämlich eine für jede Instanz (z. B. Kopie) des Routers 114 in dem System 100 (die gleich der Anzahl von Kacheln in dem System sein könnte) aufweist, wobei nur eine der Routing-Tabellen von jedem Router 114 verwendet wird, um Verkehr (z. B. basierend auf einem konfigurierten Parameter) zu routen. In einigen Ausführungsformen kann jeder Multi-RT-Router 114 eine unterschiedliche der Mehrzahl von Routing-Tabellen verwenden. Dadurch kann jede Kopie eines identischen physischen Routers als ein anderer logischer Router konfiguriert werden. Somit können die Router 114 in einem Multi-Kachel-System verwendet werden, um dieselben physischen Netzwerke so zu konfigurieren, dass sie sich wie unterschiedliche logische Netzwerke verhalten.
  • 3 veranschaulicht ein Verschaltungsnetzwerk für ein zwei-Kachel-System 300 und entsprechende Routing-Tabellen 302 gemäß gewissen Ausführungsformen. Die erste Kachel ist auf der linken Seite gezeigt und die zweite Kachel ist auf der rechten Seite gezeigt. In diesem Beispiel gibt es zwei globale EPs und ein lokales Netzwerk pro Kachel. Die globalen EPs weisen IDs auf, die über die Kacheln hinweg eindeutig sind. Jede Kachel umfasst ein globales Netzwerk, das Multi-RT-Router G0, G1 und G2 umfasst, sowie ein lokales Netzwerk, das einen lokalen Router L0 umfasst, der mit einer Mehrzahl von lokalen EPs gekoppelt ist. Die erste Kachel umfasst ferner eine erste Instanz eines globalen EP (identifiziert durch die globale EP-ID 80) und die zweite Kachel umfasst ferner eine zweite Instanz dieses globalen EP (identifiziert durch die globale EP-ID 81). Die erste Kachel beinhaltet eine erste Instanz eines anderen globalen EP (identifiziert durch die globale EP-ID 90) und die zweite Kachel beinhaltet eine zweite Instanz dieses globalen EP (identifiziert durch die globale EP-ID 91). Die erste Kachel beinhaltet auch eine Brücke mit einer lokalen Netzwerk-ID von 02, die mit dem globalen Netzwerk und dem lokalen Netzwerk der ersten Kachel gekoppelt ist. Gleichermaßen beinhaltet die zweite Kachel eine Brücke mit einer lokalen Netzwerk-ID von 03, die mit dem globalen Netzwerk und dem lokalen Netzwerk der zweiten Kachel gekoppelt ist. Die lokalen Netzwerke sind unabhängig und werden somit eindeutig mit einer hierarchischen ID im globalen Raum (02 in der ersten Kachel und 03 in der zweiten Kachel) identifiziert.
  • Jeder Router in dem globalen Netzwerk der ersten Kachel weist einen entsprechenden Router (z. B. mit identischer oder im Wesentlichen identischer Schaltungsanordnung) in dem globalen Netzwerk der zweiten Kachel auf, und jedes Paar wird somit als Teil derselben Gruppe betrachtet. Somit sind beide G0 Router Teil der Gruppe 0, beide G1 Router sind Teil der Gruppe 1 und beide G2 Router sind Teil der Gruppe 2. 3 stellt auch Routing-Tabellen 302 (z. B. 302A-302C) für die verschiedenen Multi-RT-Router dar. Die G0 Router beinhalten jeweils Routing-Tabellen 302A (die eine erste Routing-Tabelle, die zur Verwendung ausgewählt wird, wenn ein Konfigurationsparameter einen Wert von 0 aufweist, und eine zweite Routing-Tabelle, die zur Verwendung ausgewählt wird, wenn der Konfigurationsparameter einen Wert von 1 aufweist, beinhalten). Gleichermaßen beinhalten die G1 Router jeweils Routing-Tabellen 302B und die G2 Router beinhalten jeweils Routing-Tabellen 302C. Der bestimmte Konfigurationsparameter, der in dieser Ausführungsform zum Auswählen der Routing-Tabelle verwendet wird, die von einem bestimmten Router verwendet wird, ist einfach ein „Auswahl“-Parameter, der der Kachel entspricht, auf der sich der Router befindet. Somit weist in der dargestellten Ausführungsform jeder Router ein Routing-Tabellenauswahlsignal auf, das an einen Kachel-ID-Strap des Systems gebunden ist, das 0 für die erste Kachel und 1 für die zweite Kachel ist. Somit verwenden alle Router in der ersten Kachel ihre jeweilige Routing-Tabelle 0 (die Routing-Tabelle auf der Oberseite) und die Router in der zweiten Kachel verwenden Routing-Tabelle 1 (die Routing-Tabelle auf der Unterseite).
  • Unter Verwendung von G0 der ersten Kachel als ein Beispiel weist der Router drei physische Ports auf: P0, P1 und P2. Da der Auswahlwert für G0 der ersten Kachel 0 ist, wird die obere Routing-Tabelle von 302A verwendet. In der dargestellten Ausführungsform wird ein One-Hot-Routing-Schema verwendet, wobei eine Aktivierung von Bit 0 P0 entspricht, eine Aktivierung von Bit 1 P1 entspricht und eine Aktivierung von Bit 2 P2 entspricht. Wenn G0 eine Nachricht mit einer Ziel-ID von 0080 empfängt (wobei 0080 eine hexadezimale Darstellung einer 16-Bit-Ziel-ID sein kann, wobei 00 der globale Header-Abschnitt ist und 80 der lokale Header-Abschnitt ist), bedeutet der Routing-Tabelleneintrag für 0080, dass die Nachricht durch P0 an den adressierten globalen EP (mit einer ID in von 80 in dem lokalen Adressraum) weitergeleitet werden soll. Wenn G0 eine Nachricht mit 0090 als Ziel-ID empfängt, soll die Nachricht durch P1 an Router G1 (an den globalen EP mit einer ID von 90 in dem lokalen Adressraum) weitergeleitet werden. Wenn G0 eine Nachricht mit 0081 oder 0091 als Ziel-ID empfängt, ist die Nachricht durch P2 an den Router G0 der anderen Kachel (an den globalen EP mit einer ID von 81 oder den globalen EP mit einer ID von 91) weiterzuleiten. Wenn G0 der ersten Kachel eine Nachricht mit einer Ziel-ID von 0200 empfängt (wobei die 02 des globalen Headers angibt, dass die Nachricht an das lokale Netzwerk der ersten Kachel geroutet werden soll, und 00 des lokalen Headers angibt, dass die Nachricht an den lokalen EP mit einer ID von 00 geroutet werden soll), wird die Nachricht durch P1 an den lokalen Netzwerk geroutet. Wenn G0 eine Nachricht mit einer Ziel-ID von 0300 empfängt (wobei die 03 des globalen Headers angibt, dass die Nachricht am das lokale Netzwerk der zweiten Kachel geroutet werden soll, und 00 des lokalen Headers angibt, dass die Nachricht an den lokalen EP mit einer ID von 00 geroutet werden soll), wird die Nachricht durch P2 an das lokale Netzwerk der zweiten Kachel geroutet.
  • Basierend auf den gezeigten Routing-Tabellen kann jeder globale EP eindeutig identifiziert werden und kann einen beliebigen lokalen EP innerhalb seiner Kachel oder kachelübergreifend erreichen. Gleichermaßen kann jeder lokale EP einen beliebigen globalen EP innerhalb seiner Kachel oder kachelübergreifend erreichen (obwohl die Routing-Tabelle bei manchen Implementierungen auf die Abbildungen beschränkt sein kann, die von dem jeweiligen System benötigt werden). Somit wird die Funktionalität eines vollständigen hierarchischen kachelübergreifenden Netzwerks bereitgestellt.
  • Obwohl die Routing-Tabellen als an Ziel-IDs mit 16 Bits arbeitend gezeigt sind (einschließlich sowohl eines globalen als auch eines lokalen Header-Abschnitts), können die Routing-Tabellen der globalen Router in manchen Ausführungsformen Nachrichten einzig und allein basierend auf dem globalen Header-Abschnitt routen (Z. B., wenn die IDs der globalen EPs in den globalen Header-Abschnitt kopiert werden).
  • 4 veranschaulicht ein Verschaltungsnetzwerk 400 für ein Vierkachel-System gemäß bestimmten Ausführungsformen. 5 veranschaulicht Routing-Tabellen für die Router des Netzwerks 400, wobei jeder „Gruppe:0“-Router die Routing-Tabellen in der Spalte „Gruppe:0“ beinhaltet und jeder „Gruppe: 1“-Router die Routing-Tabellen in der Spalte „Gruppe:1“ beinhaltet. In diesem speziellen Beispiel sind keine lokalen Netzwerke gezeigt. Die Routing-Tabellen können beliebige geeignete Charakteristiken aufweisen, wie jene, die oben mit Bezug auf 3 beschrieben sind, und die tatsächliche Routing-Tabelle, die von einem bestimmten Router verwendet wird, wird durch den Wert des „Auswahl“-Signals gesteuert.
  • 6 veranschaulicht einen Ablauf zum Konfigurieren des Verschaltungsnetzwerks von 1 gemäß bestimmten Ausführungsformen. Bei 602 werden eindeutige Kennungen aus einem Adressraum (z. B. einem lokalen Adressraum) globalen Endpunkten der Kacheln eines Mehrfachkachelsystems zugewiesen. Bei 604 werden nicht eindeutige Kennungen aus dem Adressraum lokalen Endpunkten lokaler Netzwerke der Kacheln zugewiesen. Bei 606 ist eine Mehrzahl von Multi-RT-Routern des Verschaltungsnetzwerks jeweils dazu ausgelegt, eine jeweilige Routing-Tabelle zu verwenden (z. B. basierend darauf, welche Kachel der Muti-RT-Router eingeschaltet ist). In verschiedenen Ausführungsformen können die verschiedenen Konfigurationsoperationen des Ablaufs während einer Entwurfsphase des Systems durchgeführt werden, sodass die Fertigung der Kacheln dazu führen wird, dass die Konfigurationen in die Praxis umgesetzt werden (z. B., ohne das Laden von Firmware zu erfordern).
  • 7-9 stellen beispielhafte Systeme dar, in denen verschiedene hier beschriebene Ausführungsformen implementiert sein können. Zum Beispiel können beliebige der dargestellten Systeme (oder eine oder mehrere Komponenten davon) durch das System 100 implementiert werden. Als ein anderes Beispiel kann eine Kachel 102 oder ein Die einer Kachel der CPU 702, dem Prozessor 810 oder dem SOC 900 entsprechen oder diese umfassen. Als noch ein anderes Beispiel können eine oder mehrere der Komponenten aus 7-9 ein lokaler oder globaler EP sein oder diesen beinhalten.
  • 7 veranschaulicht Komponenten eines Computersystems 700 gemäß bestimmten Ausführungsformen. Das System 700 beinhaltet eine Zentralverarbeitungseinheit (CPU) 702, die mit einer externen Eingabe-/Ausgabesteuerung (E/A-Steuerung) 704, einer Speicherungsvorrichtung 706, wie einem Festkörperlaufwerk (SSD) oder einem Dual-Inline-Speichermodul (DIMM), und einer Systemspeichervorrichtung 707 gekoppelt ist. Während des Betriebs können Daten zwischen einer Speicherungsvorrichtung 706 und/oder einer Systemspeichervorrichtung 707 und der CPU 702 übertragen werden. In verschiedenen Ausführungsformen können bestimmte Speicherzugriffsoperationen (z. B. Lese- und Schreiboperationen), die eine Speicherungsvorrichtung 706 oder eine Systemspeichervorrichtung 707 beinhalten, durch ein Betriebssystem und/oder andere Softwareanwendungen, die durch den Prozessor 708 ausgeführt werden, ausgegeben werden.
  • Die CPU 702 umfasst einen Prozessor 708, wie einen Mikroprozessor, einen eingebetteten Prozessor, einen Digitalsignalprozessor (DSP), einen Netzwerkprozessor, einen handgehaltenen Prozessor, einen Anwendungsprozessor, einen Coprozessor, ein SOC oder eine andere Vorrichtung zum Ausführen von Code (z. B. Softwareanweisungen). Der Prozessor 708 beinhaltet in der dargestellten Ausführungsform zwei Verarbeitungselemente (Kerne 714A und 714B in der dargestellten Ausführungsform), die asymmetrische Verarbeitungselemente oder symmetrische Verarbeitungselemente beinhalten können. Ein Prozessor kann jedoch eine beliebige Anzahl von Verarbeitungselementen beinhalten, die symmetrisch oder asymmetrisch sein können. Die CPU 702 kann hier als Host-Rechenvorrichtung bezeichnet werden (obwohl eine Host-Rechenvorrichtung eine beliebige geeignete Rechenvorrichtung sein kann, die betreibbar ist, um Speicherzugriffsbefehle an eine Speicherungsvorrichtung 706 auszugeben).
  • In einer Ausführungsform bezieht sich ein Verarbeitungselement auf Hardware oder Logik, um einen Software-Thread zu unterstützen. Beispiele für Hardware-Verarbeitungselemente beinhalten: eine Thread-Einheit, einen Thread-Schlitz, einen Thread, eine Verarbeitungseinheit, einen Kontext, eine Kontexteinheit, einen logischen Prozessor, einen Hardware-Thread, einen Kern und/oder jegliches andere Element, das dazu geeignet ist, einen Zustand für einen Prozessor, wie zum Beispiel einen Ausführungszustand oder Architekturzustand, zu halten. Mit anderen Worten bezieht sich in einer Ausführungsform ein Verarbeitungselement auf jegliche Hardware, die dazu geeignet ist, unabhängig mit Code, wie zum Beispiel einem Software-Thread, einem Betriebssystem, einer Anwendung, oder einen anderen Code verbunden zu werden. Ein physischer Prozessor (oder Prozessorsockel) bezieht sich üblicherweise auf eine integrierte Schaltung, die potenziell eine beliebige Anzahl anderer Verarbeitungselemente, wie Kerne oder Hardware-Threads, einschließt.
  • Ein Kern 714 (z. B. 714A oder 714B) kann sich auf Logik beziehen, die sich auf einer integrierten Schaltung befindet und in der Lage ist, einen unabhängigen Architekturzustand beizubehalten, wobei jeder unabhängig beibehaltene Architekturzustand zumindest einigen fest zugeordneten Ausführungsressourcen zugeordnet ist. Ein Hardware-Thread kann sich auf beliebige Logik beziehen, die sich auf einer integrierten Schaltung befindet und in der Lage ist, einen unabhängigen Architekturzustand beizubehalten, wobei die unabhängig beibehaltenen Architekturzustände Zugriff auf Ausführungsressourcen teilen. Wie ersichtlich ist, überlappt die Grenze zwischen der Nomenklatur eines Hardware-Threads und eines Kerns, wenn bestimmte Ressourcen geteilt werden und andere für einen Architekturzustand vorgesehen sind. Dennoch werden ein Kern und ein Hardware-Thread von einem Betriebssystem häufig als individuelle Logikprozessoren angesehen, wobei das Betriebssystem dazu in der Lage ist, Operationen auf jedem Logikprozessor individuell zu planen.
  • In verschiedenen Ausführungsformen können die Verarbeitungselemente auch eine oder mehrere arithmetische Logikeinheiten (ALUs: Arithmetic Logic Units), Gleitkommaeinheiten (FPUs: Floating Point Units), Caches, Befehlspipelines, Interrupt-Verarbeitungshardware, Register oder andere Hardware beinhalten, um die Operationen der Verarbeitungselemente zu ermöglichen.
  • In einigen Ausführungsformen kann der Prozessor 708 eine Prozessoreinheit, wie einen Prozessorkern, eine Grafikverarbeitungseinheit, einen Hardwarebeschleuniger, eine feldprogrammierbare Gatteranordnung, eine Verarbeitungseinheit eines neuronalen Netzwerks, eine Verarbeitungseinheit für künstliche Intelligenz, eine Inferenz-Engine, eine Datenverarbeitungseinheit oder eine Infrastrukturrrerarbeitungseinheit, umfassen.
  • Die E/A-Steuerung 710 ist eine integrierte E/A-Steuerung, die Logik zum Kommunizieren von Daten zwischen der CPU 702 und E/A-Vorrichtungen beinhaltet. In anderen Ausführungsformen kann sich die E/A-Steuerung 710 auf einem anderen Chip als die CPU 702 befinden. E/A-Vorrichtungen können sich auf beliebige geeignete Vorrichtungen beziehen, die in der Lage sind, Daten an ein elektronisches System, wie die CPU 702, zu übertragen und/oder Daten von diesem zu empfangen. Zum Beispiel kann eine E/A-Vorrichtung eine Steuerung einer Audio/Video-Vorrichtung (A/V-Vorrichtung), wie einen Grafikbeschleuniger oder eine Audiosteuerung; eine Datenspeicherungsvorrichtungssteuerung, wie eine Flash-Speichervorrichtung, eine Steuerung einer magnetischen Speicherplatte oder optischen Speicherplatte; einen drahtlosen Transceiver; einen Netzwerkprozessor; eine Netzwerkschnittstellensteuerung oder eine Steuerung für eine andere Eingabevorrichtung, wie einen Monitor, einen Drucker, eine Maus, eine Tastatur oder einen Scanner; oder eine andere geeignete Vorrichtung umfassen. In einer bestimmten Ausführungsform kann eine E/A-Vorrichtung eine Speicherungsvorrichtung 706 umfassen, die durch die E/A-Steuerung 710 mit der CPU 702 gekoppelt ist.
  • Eine E/A-Vorrichtung kann mit der E/A-Steuerung 710 der CPU 702 unter Verwendung eines beliebigen geeigneten Signalisierungsprotokolls, wie Peripheral Component Interconnect (PCI), PCI Express (PCIe), Universal Serial Bus (USB), Serial Attached SCSI (SAS), Serial ATA (SATA), Fibre Channel (FC), IEEE 802.3, IEEE 802.11 oder eines anderen aktuellen oder zukünftigen Signalisierungsprotokolls, kommunizieren. In bestimmten Ausführungsformen können die E/A-Steuerung 710 und eine zugeordnete E/A-Vorrichtung Daten und Befehle gemäß einer Schnittstellenspezifikation für logische Vorrichtungen, wie Non-Volatile Memory Express (NVMe) (z. B., wie durch eine oder mehrere der Spezifikationen beschrieben, die unter www.nvmexpress.org/specifications/ verfügbar sind) oder Advanced Host Controller Interface (AHCI) (z. B., wie durch eine oder mehrere AHCI-Spezifikationen, wie Serial ATA AHCI: Spezifikation, Rev. 1.3.1, verfügbar unter http://www.intel.com/content/www/us/en/io/serialata/serial-ata-ahei-spec-rev1-3-1.html, beschrieben) kommunizieren. In verschiedenen Ausführungsformen können sich E/A-Vorrichtungen, die mit der E/A-Steuerung 710 gekoppelt sind, außerhalb des Chips befinden (z. B. nicht auf demselben Chip wie die CPU 702) oder können auf demselben Chip wie die CPU 702 integriert sein.
  • Eine CPU-Speichersteuerung 712 ist eine integrierte Speichersteuerung, die den Datenfluss steuert, der zu und von einer oder mehreren Systemspeichervorrichtungen 707 geht. Die CPU-Speichersteuerung 712 kann Logik beinhalten, die betreibbar ist, um aus einer Systemspeichervorrichtung 707 zu lesen, in eine Systemspeichervorrichtung 707 zu schreiben oder andere Operationen von einer Systemspeichervorrichtung 707 anzufordern. In verschiedenen Ausführungsformen kann die CPU-Speichersteuerung 712 Schreibanforderungen von den Kernen 714 und/oder der E/A-Steuerung 710 empfangen und kann Daten, die in diesen Anforderungen angegeben sind, an eine Systemspeichervorrichtung 707 zur Speicherung darin bereitstellen. Die CPU-Speichersteuerung 712 kann auch Daten aus einer Systemspeichervorrichtung 707 lesen und die gelesenen Daten an die E/A-Steuerung 710 oder einen Kern 714 bereitstellen. Während des Betriebs kann die CPU-Speichersteuerung 712 Befehle ausgeben, die eine oder mehrere Adressen der Systemspeichervorrichtung 707 beinhalten, um Daten aus dem Speicher zu lesen oder Daten in diesen zu schreiben (oder um andere Operationen durchzuführen). In einigen Ausführungsformen kann die CPU-Speichersteuerung 712 auf demselben Chip wie die CPU 702 implementiert sein, wohingegen in anderen Ausführungsformen die CPU-Speichersteuerung 712 auf einem anderen Chip als dem der CPU 702 implementiert sein kann. Die E/A-Steuerung 710 kann ähnliche Operationen in Bezug auf eine oder mehrere Speicherungsvorrichtungen 706 durchführen.
  • Die CPU 702 kann durch die externe E/A-Steuerung 704 auch mit einer oder mehreren anderen E/A-Vorrichtungen gekoppelt sein. In einer bestimmten Ausführungsform kann die externe E/A-Steuerung 704 eine Speicherungsvorrichtung 706 mit der CPU 702 koppeln. Die externe E/A-Steuerung 704 kann Logik zum Verwalten des Datenflusses zwischen einer oder mehreren CPUs 702 und E/A-Vorrichtungen beinhalten. In bestimmten Ausführungsformen befindet sich die externe E/A-Steuerung 704 zusammen mit der CPU 702 auf einer Hauptplatine. Die externe E/A-Steuerung 704 kann unter Verwendung von Punkt-zu-Punkt- oder anderen Schnittstellen Informationen mit Komponenten der CPU 702 austauschen.
  • Eine Systemspeichervorrichtung 707 kann beliebige geeignete Daten, wie Daten, die durch den Prozessor 708 verwendet werden, um die Funktionalität des Computersystems 700 bereitzustellen, speichern. Zum Beispiel können Daten, die Programmen, die ausgeführt werden, oder Dateien, auf die durch die Kerne 714 zugegriffen wird, zugeordnet sind, in der Systemspeichervorrichtung 707 gespeichert werden. Somit kann eine Systemspeichervorrichtung 707 einen Systemspeicher beinhalten, der Daten und/oder Sequenzen von Anweisungen, die durch die Kerne 714 ausgeführt oder anderweitig verwendet werden, speichert, In verschiedenen Ausführungsformen kann eine Systemspeichervorrichtung 707 temporäre Daten, persistente Daten (z. B. Dateien oder Anweisungssequenzen eines Benutzers), die ihren Zustand selbst nach dem Trennen der Stromversorgung der Systemspeichervorrichtung 707 beibehalten, oder eine Kombination davon speichern. Eine Systemspeichervorrichtung 707 kann einer bestimmten CPU 702 fest zugeordnet sein oder mit anderen Vorrichtungen (z. B. einem oder mehreren anderen Prozessoren oder anderen Vorrichtungen) des Computersystems 700 geteilt werden.
  • In verschiedenen Ausführungsformen kann eine Systemspeichervorrichtung 707 einen Speicher, der eine beliebige Anzahl von Speicherpartitionen umfasst, eine Speichervorrichtungssteuerung und andere unterstützende Logik (nicht gezeigt) beinhalten. Eine Speicherpartition kann nichtflüchtigen Speicher und/oder flüchtigen Speicher beinhalten.
  • Nichtflüchtiger Speicher ist ein Speicherungsmedium, das keinen Strom benötigt, um den Zustand von durch das Medium gespeicherten Daten beizubehalten, und somit kann nichtflüchtiger Speicher einen bestimmten Zustand aufweisen, selbst wenn die Stromversorgung zur Vorrichtung, die den Speicher aufnimmt, unterbrochen wird. Nicht einschränkende Beispiele für nichtflüchtigen Speicher können beliebige oder eine beliebige Kombination beinhalten von: 3D-Kreuzungspunktspeicher, Phasenwechselspeicher (z. B. Speicher, der ein Chalkogenidglasphasenwechselmaterial in den Speicherzellen verwendet), ferroelektrischem Speicher, Silicium-Oxid-Nitrid-Oxid-Silicium-Speicher (SONOS-Speicher), Polymerspeicher (z. B. ferroelektrischem Polymerspeicher), ferroelektrischem Transistordirektzugriffsspeicher (Fe-TRAM) ovonischem Speicher, antiferroelektrischem Speicher, Nanodrahtspeicher, elektrisch löschbarem programmierbarem Nurlesespeicher (EEPROM), einem Memristor, Einzel- oder Mehrebenenphasenwechselspeicher (PCM), magnetischem Spin-Hall-Effekt-RAM (SHE-MRAM) und magnetischem Spin Transfer Torque-RAM (STTRAM), einem resistiven Speicher, Speicher für einen magnetoresistiven Direktzugriffsspeicher (MRAM), der Memristortechnologie beinhaltet, resistivem Speicher, der die Metalloxidbasis, die Sauerstoffleerstellenbasis und die Leiterbrücke beinhaltet, Direktzugriffsspeicher (CB-RAM), einer Vorrichtung auf Basis eines Spintronikmagnetübergangsspeichers, einer Vorrichtung auf Basis eines Magnettunnelübergangs (MTJ), einer Vorrichtung auf Basis von DW (Domänenwand) und SOT (Spin Orbit Transfer), einer Speichervorrichtung auf Thiristorbasis oder einer Kombination beliebiger der obigen oder einem anderen Speicher.
  • Flüchtiger Speicher ist ein Speicherungsmedium, das Strom benötigt, um den Zustand von durch das Medium gespeicherten Daten beizubehalten (somit ist flüchtiger Speicher ein Speicher, dessen Zustand (und daher die auf ihm gespeicherten Daten) unbestimmt ist, wenn die Stromversorgung zur Vorrichtung, die den Speicher aufnimmt, unterbrochen wird). Dynamischer flüchtiger Speicher erfordert ein Auffrischen der in der Vorrichtung gespeicherten Daten, um den Zustand beizubehalten. Ein Beispiel für dynamischen flüchtigen Speicher beinhaltet DRAM (dynamischen Direktzugriffsspeicher) oder eine Variante, wie synchronen DRAM (SDRAM). Ein wie hier beschriebenes Speichersubsystem kann mit einer Reihe von Speichertechnologien kompatibel sein, wie DDR3 (Double Data Rate Version 3, ursprüngliches Release durch JEDEC (Joint Electronic Device Engineering Council) am 27. Juni 2007, derzeitig bei Release 21), DDR4 (DDR-Version 4, JESD79-4, Erstspezifikation veröffentlicht im September 2012 durch JEDEC), DDR4E (DDR Version 4 Extended, derzeitig von JEDEC geplant), LPDDR3 (Low Power DDR-Version 3, JESD209-3B, Aug. 2013 durch JEDEC), LPDDR4 (LOW POWER DOUBLE DATA RATE (LPDDR), Version 4, JESD209-4, ursprünglich veröffentlicht durch JEDEC im August 2014), WIO2 (Wide I/O 2 (Wide IO2), JESD229-2, ursprünglich veröffentlicht durch JEDEC im August 2014), HBM (HIGH BANDWIDTH MEMORY DRAM, JESD235, ursprünglich veröffentlicht durch JEDEC im Oktober 2013), DDR5 (DDR-Version 5, derzeitig von JEDEC geplant), LPDDR5, ursprünglich veröffentlicht durch JEDEC im Januar 2020, HBM2 (HBM-Version 2), ursprünglich veröffentlicht durch JEDEC im Januar 2020 oder andere oder Kombinationen von Speichertechnologien und Technologien, die auf Ableitungen oder Erweiterungen derartiger Spezifikationen basieren.
  • Eine Speicherungsvorrichtung 706 kann beliebige geeignete Daten, wie durch den Prozessor 708 verwendete Daten, speichern, um Funktionalität des Computersystems 700 bereitzustellen. Zum Beispiel können Daten, die ausgeführten Programmen oder Dateien, auf die durch die Kerne 714A und 714B zugegriffen wird, zugeordnet sind, in der Speicherungsvorrichtung 706 gespeichert werden. Somit kann eine Speicherungsvorrichtung 706 in einigen Ausführungsformen Daten und/oder Sequenzen von Anweisungen speichern, die durch die Kerne 714A und 714B ausgeführt oder anderweitig verwendet werden. In verschiedenen Ausführungsformen kann eine Speicherungsvorrichtung 706 persistente Daten (z. B. Dateien eines Benutzers oder Softwareanwendungscode) speichern, die ihren Zustand selbst nach dem Trennen der Stromversorgung der Speicherungsvorrichtung 706 beibehalten. Eine Speicherungsvorrichtung 706 kann einer CPU 702 fest zugeordnet sein oder mit anderen Vorrichtungen (z. B. einer anderen CPU oder anderen Vorrichtung) des Computersystems 700 geteilt werden.
  • In verschiedenen Ausführungsformen kann die Speicherungsvorrichtung 706 ein Plattenlaufwerk (z. B. Festkörperlaufwerk); eine Speicherkarte; ein Universal Serial Bus-Laufwerk (USB-Laufwerk); ein Dual-In-Line-Speichermodul (DIMM), wie ein Non-Volatile DIMM (NVDIMM); eine Speicherung, die in einer Vorrichtung, wie einem Smartphone, einer Kamera oder einer Medienwiedergabevorrichtung, integriert ist; oder eine andere geeignete Massenspeicherungsvorrichtung umfassen.
  • In einer bestimmten Ausführungsform kann ein Halbleiterchip in einem Halbleitergehäuse umgesetzt sein. In verschiedenen Ausführungsformen kann ein Halbleitergehäuse ein Gehäuse umfassen, das einen oder mehrere Halbleiterchips (auch als Dies bezeichnet) umfasst. Ein Gehäuse kann auch Kontaktstifte oder -leitungen umfassen, die zum Verbinden mit externen Schaltungen verwendet werden.
  • In einigen Ausführungsformen befinden sich alle oder einige der Elemente des Systems 700 auf derselben Leiterplatte (z. B. einer Hauptplatine) (oder sind damit gekoppelt). In verschiedenen Ausführungsformen kann eine beliebige geeignete Partitionierung zwischen den Elementen bestehen. Zum Beispiel können sich die in der CPU 702 dargestellten Elemente auf einem einzelnen Die (z. B. On-Chip) oder Gehäuse befinden oder können sich beliebige der Elemente der CPU 702 außerhalb des Chips oder außerhalb des Gehäuses befinden. In ähnlicher Weise können sich die in der Speicherungsvorrichtung 706 dargestellten Elemente auf einem einzelnen Chip oder auf mehreren Chips befinden. In verschiedenen Ausführungsformen können sich eine Speicherungsvorrichtung 706 und ein Rechen-Host (z. B. die CPU 702) auf derselben Leiterplatte oder auf derselben Vorrichtung befinden, und in anderen Ausführungsformen können sich die Speicherungsvorrichtung 706 und der Rechen-Host auf verschiedenen Leiterplatten oder Vorrichtungen befinden.
  • Die Komponenten des Systems 700 können auf eine beliebige geeignete Weise miteinander gekoppelt sein. zum Beispiel kann ein Bus beliebige der Komponenten miteinander koppeln. Ein Bus kann eine beliebige bekannte Verschaltung (Interconnect) beinhalten, wie einen Multi-Drop-Bus, eine Mesh-Verschaltung, eine Ringverschaltung, eine Punkt-zu-Punkt-Verschaltung, eine serielle Verschaltung, einen parallelen Bus, einen kohärenten (z. B. Cachekohärenten) Bus, eine geschichtete Protokollarchitektur, einen differenziellen Bus und einen Gunning Transceiver Logic-Bus (GTL-Bus). In verschiedenen Ausführungsformen beinhaltet ein integriertes E/A-Subsystem Punkt-zu-Punkt-Multiplexlogik zwischen verschiedenen Komponenten des Systems 700, wie den Kernen 714, einer oder Mehrzahl von CPU-Speichersteuerungen 712, der E/A-Steuerung 710, integrierten E/A-Vorrichtungen, Direktspeicherzugriffslogik (DMA-Logik) (nicht gezeigt) usw. In verschiedenen Ausführungsformen können Komponenten des Computersystems 700 durch ein oder mehrere Netzwerke miteinander gekoppelt sein, die eine beliebige Anzahl von dazwischenliegenden Netzwerkknoten, wie Router, Switches oder andere Rechenvorrichtungen, umfassen. Zum Beispiel können ein Rechen-Host (z. B. die CPU 702) und die Speicherungsvorrichtung 706 durch ein Netzwerk kommunikativ gekoppelt sein.
  • Obwohl dies nicht dargestellt ist, kann das System 700 eine Batterie und/oder einen Stromversorgungsauslassverbinder und ein zugeordnetes System zum Empfangen von Strom, eine Anzeige zum Ausgeben von durch die CPU 702 bereitgestellten Daten oder eine Netzschnittstelle, die der CPU 702 ermöglicht, über ein Netzwerk zu kommunizieren, verwenden. In verschiedenen Ausführungsformen können die Batterie, der Stromversorgungsauslassverbinder, die Anzeige und/oder die Netzschnittstelle kommunikativ mit der CPU 702 gekoppelt sein. Andere Stromquellen können verwendet werden, wie erneuerbare Energie (z. B. Solarstrom oder bewegungsbasierter Strom).
  • Nun unter Bezugnahme auf 8 ist ein Blockdiagramm von Komponenten, die in einem Computersystem vorhanden sind, das entweder als eine Hostvorrichtung oder eine Peripherievorrichtung fungieren kann (oder das sowohl eine Hostvorrichtung als auch eine oder mehrere Peripherievorrichtungen beinhalten kann), gemäß bestimmten Ausführungsformen beschrieben. Wie in 8 gezeigt, beinhaltet das System 800 eine beliebige Kombination von Komponenten. Diese Komponenten können als ICs, Teile davon, diskrete elektronische Vorrichtungen oder andere Module, Logik, Hardware, Software, Firmware oder eine Kombination davon, die in einem Computersystem angepasst sind, oder als Komponenten, die anderweitig in einem Chassis des Computersystems integriert sind, implementiert sein. Es sei auch angemerkt, dass das Blockdiagramm von 8 eine übersichtsartige Ansicht vieler Komponenten des Computersystems zeigen soll. Es versteht sich allerdings, dass einige der gezeigten Komponenten weggelassen werden können, zusätzliche Komponenten vorhanden sein können und verschiedene Anordnungen der gezeigten Komponenten in anderen Implementierungen auftreten können. Infolgedessen kann die oben beschriebene Offenbarung in einem beliebigen Abschnitt einer oder mehrerer der unten veranschaulichten oder beschriebenen Verschaltungen implementiert werden.
  • Wie man in 8 sieht, beinhaltet ein Prozessor 810 in einer Ausführungsform einen Mikroprozessor, einen Mehrkernprozessor, einen Multithread-Prozessor, einen Ultraniedrigspannungsprozessor, einen eingebetteten Prozessor oder andere bekannte Verarbeitungselemente. Bei der veranschaulichten Implementierung agiert der Prozessor 810 als eine Hauptverarbeitungseinheit und als zentraler Hub zur Kommunikation mit vielen der verschiedenen Komponenten des Systems 800. Als ein Beispiel ist der Prozessor 810 als ein System-on-a-Chip (SOC) implementiert. Als ein spezifisches veranschaulichendes Beispiel beinhaltet der Prozessor 810 einen Intel® Architecture Core™-basierten Prozessor, wie einen i3, i5, i7 oder einen anderen derartigen von der Intel Corporation, Santa Clara, CA, erhältlichen Prozessor. Es können jedoch auch andere Prozessoren mit niedrigem Stromverbrauch, wie die von Advanced Micro Devices, Inc. (AMD) von Sunnyvale, CA, erhältlichen, ein MIPS-basiertes Design von MIPS Technologies, Inc. von Sunnyvale, CA, ein ARM-basiertes Design, lizenziert von ARM Holdings, Ltd. oder einem Kunden davon oder deren Lizenznehmern oder Nutzern, stattdessen in anderen Ausführungsformen, wie einem Apple A5/A6-Prozessor, einem Qualcomm-Snapdragon-Prozessor oder einem TI-OMAP-Prozessor, vorhanden sein. Es sei angemerkt, dass viele Kundenversionen derartiger Prozessoren modifiziert und variiert sind; wobei sie allerdings einen spezifischen Anweisungssatz unterstützen oder erkennen können, der definierte Algorithmen durchführt, wie sie durch den Prozessorlizenzgeber dargelegt sind. Hier kann die Mikroarchitekturimplementierung variieren, aber die Architekturfunktion des Prozessors ist üblicherweise konsistent. Bestimmte Details bezüglich der Architektur und des Betriebs des Prozessors 810 in einer Implementierung werden weiter unten erörtert, um ein veranschaulichendes Beispiel bereitzustellen.
  • Der Prozessor 810 kommuniziert in einer Ausführungsform mit einem Systemspeicher 815. Als ein veranschaulichendes Beispiel, das in einer Ausführungsform über mehrere Speichervorrichtungen implementiert werden kann, zum Bereitstellen einer vorgegebenen Menge an Systemspeicher. Zum Beispiel kann der Speicher gemäß einem Joint Electron Devices Engineering Council (JEDEC) Low Power Double Data Rate-basierten (LPDDR-basierten) Design erfolgen, wie dem aktuellen LPDDR2-Standard gemäß JEDEC JESI) 209-2E (veröffentlicht im April 2009), oder einem LPDDR-Standard der nächsten Generation, der als LPDDR3 oder LPDDR4 bezeichnet wird, der Erweiterungen zum LPDDR2 bieten wird, um die Bandbreite zu erhöhen. In verschiedenen Implementierungen können die einzelnen Speichervorrichtungen von verschiedenen Gehäusetypen, wie Single Die Package (SDP), Dual Die Package (DDP) oder Quad Die Package (QDP), sein. Diese Vorrichtungen werden in einigen Ausführungsformen direkt auf eine Hauptplatine gelötet, um eine Lösung mit einem flacheren Profil bereitzustellen, wohingegen die Vorrichtungen in anderen Ausführungsformen als ein oder mehrere Speichermodule konfiguriert sind, die wiederum durch einen gegebenen Verbinder mit der Hauptplatine koppeln. Und natürlich sind andere Speicherimplementierungen möglich, wie andere Typen von Speichermodulen, z. B. Dual-Inline-Speichermodule (DIMMs) verschiedener Varietäten, einschließlich, ohne darauf beschränkt zu sein, microDIMMs, MiniDIMMs. In einer bestimmten veranschaulichenden Ausführungsform ist der Speicher zwischen 2 GB und 16 GB bemessen und kann als ein DDR3LM-Gehäuse oder ein LPDDR2- oder LPDDR3-Speicher konfiguriert sein, der über ein Ball Grid Array (BGA) auf eine Hauptplatine gelötet ist.
  • Um eine dauerhafte Speicherung von Informationen wie Daten, Anwendungen, eines oder mehrerer Betriebssysteme und dergleichen zu unterstützen, kann auch eine Massenspeicherung 820 mit dem Prozessor 810 koppeln. In verschiedenen Ausführungsformen kann diese Massenspeicherung über eine SSD implementiert sein, um ein dünneres und leichteres Systemdesign zu ermöglichen sowie die Systemreaktionsfähigkeit zu verbessern. In anderen Ausführungsformen kann die Massenspeicherung jedoch hauptsächlich unter Verwendung eines Festplattenlaufwerks (HDD) mit einer geringeren Menge an SSD-Speicherung implementiert sein, um als ein SSD-Cache zu fungieren, um eine nichtflüchtige Speicherung eines Kontextzustands und anderer solcher Informationen während Herunterfahrereignissen zu ermöglichen, sodass ein schnelles Hochfahren bei einer Neuinitiierung von Systemaktivitäten erfolgen kann. Auch in 8 kann eine Flash-Vorrichtung 822 z. B. über eine serielle Peripherieschnittstelle (SPI - Serial Peripheral Interface) mit dem Prozessor 810 gekoppelt sein. Diese Flash-Vorrichtung kann eine nichtflüchtige Speicherung von Systemsoftware bereitstellen, einschließlich einer Basic-Input/Output-Software (BIOS) sowie anderer Firmware des Systems.
  • In verschiedenen Ausführungsformen ist die Massenspeicherung des Systems durch eine SSD allein oder als eine Platte, ein optisches oder anderes Laufwerk mit einem SSD-Cache implementiert. In einigen Ausführungsformen ist die Massenspeicherung als eine SSD oder als eine HDD zusammen mit einem Restore-Cache-Modul (RST-Cache-Modul) implementiert. In verschiedenen Implementierungen unterstützt die HDD eine Speicherung zwischen 320 GB und 4 Terabyte (TB) und höher, wohingegen der RST-Cache mit einer SSD einer Kapazität von 24 GB bis 256 GB implementiert ist. Es sei angemerkt, dass ein derartiger SSD-Cache als eine Option für Single Level Cache (SLC) oder Multi Level Cache (MLC) konfiguriert sein kann, um ein geeignetes Reaktionsfähigkeitsniveau bereitzustellen. In einer Nur-SSD-Option kann das Modul an verschiedenen Orten, wie in einem mSATA- oder NGFF-Steckplatz, untergebracht sein. Zum Beispiel weist eine SSD eine Kapazität auf, die von 120 GB bis 1 TB reicht.
  • Verschiedene Eingabe-/Ausgabe(E/A)-Vorrichtungen können innerhalb des Systems 800 vorhanden sein. Insbesondere bei der Ausführungsform von 8 ist eine Anzeige 824 gezeigt, die ein Hochdefinitions-LCD- oder LED-Feld sein kann, das innerhalb eines Deckelteils des Chassis konfiguriert ist. Dieses Anzeigefeld kann auch einen Touchscreen 825 bereitstellen, der z. B. extern über dem Anzeigefeld eingerichtet, so dass dem System über eine Benutzerinteraktion mit diesem Touchscreen Benutzereingaben bereitgestellt werden können, um gewünschte Operationen zu ermöglichen, z. B. hinsichtlich der Anzeige von Informationen, Zugriff auf Informationen und so weiter. In einer Ausführungsform kann die Anzeige 824 über eine Anzeigeverschaltung, die als eine Hochleistungsgrafikverschaltung implementiert sein kann, mit dem Prozessor 810 gekoppelt sein. Der Touchscreen 825 kann über eine weitere Verschaltung, die in einer Ausführungsform eine I2C-Verschaltung sein kann, mit dem Prozessor 810 gekoppelt sein. Wie weiter in 8 zusätzlich zum Touchscreen 825 gezeigt, kann eine Benutzereingabe durch Berührung auch durch ein Touchpad 830 stattfinden, welches innerhalb des Gehäuses konfiguriert sein kann und auch mit derselben I2C-Verschaltung wie der Touchscreen 825 gekoppelt sein kann.
  • Das Anzeigefeld kann in mehreren Modi arbeiten. In einem ersten Modus kann das Anzeigefeld in einem transparenten Zustand angeordnet sein, in dem das Anzeigefeld für sichtbares Licht transparent ist. In verschiedenen Ausführungsformen kann der Großteil des Anzeigefelds eine Anzeige sein, mit Ausnahme einer Einfassung um den Umfang herum. Wenn das System in einem Notebook-Modus betrieben wird und das Anzeigefeld in einem transparenten Zustand betrieben wird, kann ein Benutzer Informationen anzeigen, die auf dem Anzeigefeld präsentiert werden, während er auch in der Lage ist, Objekte hinter der Anzeige anzuzeigen. Zusätzlich können auf dem Anzeigefeld angezeigte Informationen durch einen hinter der Anzeige befindlichen Benutzer angezeigt werden. Oder der Betriebszustand des Anzeigefelds kann ein opaker Zustand sein, in dem sichtbares Licht nicht durch das Anzeigefeld hindurchgeht.
  • In einem Tablet-Modus ist das System zugeklappt, sodass die Anzeigenrückoberfläche des Anzeigefelds in einer Position verbleibt, die einem Benutzer nach außen zugewandt ist, wenn die Unterseite des Basisfelds auf einer Oberfläche aufliegt oder durch den Benutzer gehalten wird. Im Tablet-Betriebsmodus übernimmt die Anzeigenrückoberfläche die Rolle einer Anzeige und einer Benutzerschnittstelle, da diese Oberfläche eine Touchscreen-Funktionalität aufweisen kann und andere bekannte Funktionen einer herkömmlichen Touchscreen-Vorrichtung, wie einer Tablet-Vorrichtung, durchführen kann. Um dies zu erreichen, kann das Anzeigefeld eine Transparenzanpassungsschicht beinhalten, die zwischen einer Touchscreen-Schicht und einer Anzeigenvorderoberfläche angeordnet ist. In einigen Ausführungsformen kann die Transparenzanpassungsschicht eine elektrochrome Schicht (EC-Schicht), eine LCD-Schicht oder eine Kombination von EC- und LCD-Schichten sein.
  • In verschiedenen Ausführungsformen kann die Anzeige von verschiedenen Größen sein, z. B. ein 11,6"- oder ein 13,3"-Bildschirm, und kann ein Seitenverhältnis von 16:9 und zumindest eine Helligkeit von 300 nits aufweisen. Auch kann die Anzeige von voller Hochdefinitionsauflösung (HD) (zumindest 1920 x 1080p), kompatibel mit einem eingebetteten Anzeigeport (eDP) und ein Feld mit niedrigem Stromverbrauch mit Feldselbstauffrischung sein.
  • Hinsichtlich der Touchscreen-Fähigkeiten kann das System ein Anzeige-Multitouch-Feld bereitstellen, das Multitouch-kapazitiv und zumindest 5-Finger-fähig ist. Und in einigen Ausführungsformen kann die Anzeige 10-Finger-fähig sein. In einer Ausführungsform ist der Touchscreen innerhalb eines/einer beschädigungs- und kratzresistenten reibungsarmen Glases und Beschichtung (z. B. Gorilla GlassTM oder Gorilla Glass 2TM) aufgenommen, um ein „Fingerbrennen“ zu verringern und ein „Fingerhüpfen“ zu vermeiden. Um ein verbessertes Berührungserlebnis und eine verbesserte Reaktionsfähigkeit bereitzustellen, weist das Touchpanel in einigen Implementierungen eine Multitouch-Funktionalität, wie weniger als 2 Rahmen (30 Hz) pro statischer Ansicht während eines Klemmgesten-Zooms, und eine Singletouch-Funktionalität von weniger als 1 cm pro Rahmen (30 Hz) mit 200 ms (Verzögerung von Finger zu Zeiger) auf. Bei manchen Ausführungsformen unterstützt die Anzeige Rand-zu-Rand-Glas mit einer minimalen Bildschirmumrandung, die auch bündig mit der Paneloberfläche abschließt, sowie begrenzte EA-Störung beim Verwenden von Multitouch.
  • Für Perceptual Computing und andere Zwecke können verschiedene Sensoren innerhalb des Systems vorhanden sein und können mit dem Prozessor 810 auf verschiedene Weisen gekoppelt sein. Bestimmte Inertial- und Umgebungssensoren können mit dem Prozessor 810 durch einen Sensor-Hub 840, z. B. über eine I2C-Verschaltung, gekoppelt sein. Bei der in 8 gezeigten Ausführungsform können diese Sensoren einen Beschleunigungsmesser 841, einen Umgebungslichtsensor (ALS) 842, einen Kompass 843 und ein Gyroskop 844 beinhalten. Andere Umgebungssensoren können einen oder mehrere thermische Sensoren 846 beinhalten, die in einigen Ausführungsformen über einen Systemverwaltungsbus (SMBus) mit dem Prozessor 810 gekoppelt sind.
  • Unter Verwendung der in einer Plattform vorhandenen verschiedenen Inertial- und Umgebungssensoren können verschiedene Anwendungsfälle umgesetzt werden. Diese Anwendungsfälle ermöglichen fortgeschrittene Rechenoperationen, einschließlich Perceptual Computing, und ermöglichen außerdem Verbesserungen in Bezug auf Stromverwaltung/Batterielebensdauer, Sicherheit und Systemreaktionsfähigkeit.
  • Zum Beispiel werden in Bezug auf Probleme in Bezug auf Stromverwaltung/Batterielebensdauer zumindest teilweise basierend auf Informationen von einem Umgebungslichtsensor die Umgebungslichtbedingungen an einem Ort der Plattform bestimmt und die Intensität der Anzeige entsprechend gesteuert. Somit ist der Stromverbrauch beim Betrieb der Anzeige unter bestimmten Lichtbedingungen reduziert.
  • Hinsichtlich Sicherheitsoperationen kann basierend auf Kontextinformationen, die von den Sensoren erhalten werden, wie Ortsinformationen, bestimmt werden, ob ein Benutzer auf bestimmte sichere Dokumente zugreifen darf. Zum Beispiel kann ein Benutzer dazu berechtigt sein, auf solche Dokumente an einem Arbeitsplatz oder zuhause zuzugreifen. Allerdings wird der Benutzer am Zugriff auf solche Dokumente gehindert, wenn sich die Plattform an einem öffentlichen Ort befindet. Diese Bestimmung basiert in einer Ausführungsform auf Ortsinformationen, z. B. über einen GPS-Sensor oder eine Kameraerkennung von Sehenswürdigkeiten bestimmt. Andere Sicherheitsoperationen können ein Bereitstellen zum Paaren von Vorrichtungen innerhalb kurzer Entfernungen voneinander, z. B. eine tragbare Plattform, wie sie hier beschrieben ist, und einen Desktop-Computer, ein Mobiltelefon oder dergleichen eines Benutzers, beinhalten. Bestimmtes Teilen wird in einigen Ausführungsformen über eine Nahfeldkommunikation umgesetzt, wenn diese Vorrichtungen so gepaart sind. Wenn die Vorrichtungen allerdings eine bestimmte Entfernung überschreiten, kann solches Teilen deaktiviert werden. Des Weiteren, wenn eine hier beschriebene Plattform und ein Smartphone gepaart werden, kann eine Warnung konfiguriert sein, die ausgelöst wird, wenn sich die Vorrichtungen weiter als einen vorbestimmten Abstand voneinander weg bewegen, wenn sie sich an einem öffentlichen Ort befinden. Im Gegensatz dazu können die Vorrichtungen, wenn sich diese gepaarten Vorrichtungen an einem sicheren Ort, z. B. einem Arbeitsplatz oder zuhause, befinden, diese vorbestimmte Grenze überschreiten, ohne eine solche Warnung auszulösen.
  • Die Reaktionsfähigkeit kann auch unter Verwendung der Sensorinformationen verbessert werden. Zum Beispiel können die Sensoren selbst dann, wenn sich eine Plattform in einem Niedrigstromzustand befindet, weiterhin aktiviert sein, um bei einer relativ geringen Frequenz zu arbeiten. Entsprechend werden beliebige Änderungen eines Orts der Plattform bestimmt, z. B. wie durch Inertialsensoren, einen GPS-Sensor oder dergleichen bestimmt. Wenn keine derartigen Änderungen registriert wurden, tritt eine schnellere Verbindung mit einem früheren drahtlosen Hub, wie einem Wi-Fi™-Zugangspunkt oder einem ähnlichen drahtlosen Befähiger auf, da es in diesem Fall nicht nötig ist, auf verfügbare drahtlose Netzwerkressourcen zu scannen. Somit wird ein höheres Niveau an Reaktionsfähigkeit erreicht, wenn aus einem Niedrigstromzustand aktiviert wird.
  • Es versteht sich, dass viele andere Anwendungsfälle unter Verwendung von Sensorinformationen ermöglicht werden können, die über die integrierten Sensoren innerhalb einer hier beschriebenen Plattform erhalten werden, und die obigen Beispiele dienen lediglich Zwecken der Veranschaulichung. Unter Verwendung eines wie hier beschriebenen Systems kann ein Perceptual Computing-System ein Hinzufügen von alternativen Eingabemodalitäten, einschließlich Gestenerkennung, ermöglichen und es dem System ermöglichen, Benutzeroperationen und -absichten zu erfassen.
  • In einigen Ausführungsformen können ein oder mehrere Infrarot- oder andere Wärmeerfassungselemente oder beliebige andere Elemente zum Erfassen des Vorhandenseins oder einer Bewegung eines Benutzers vorhanden sein. Derartige Erfassungselemente können mehrere verschiedene Elemente beinhalten, die zusammenarbeiten, nacheinander arbeiten oder beides. Zum Beispiel beinhalten Erfassungselemente Elemente, die eine Initialerfassung, wie eine Licht- oder Schallprojektion, gefolgt von einer Erfassung zur Gestenerkennung, zum Beispiel durch eine Ultraschalt-Laufzeitkamera oder eine Strukturlichtkamera, bereitstellen.
  • Außerdem beinhaltet das System in einigen Ausführungsformen einen Lichterzeuger, um eine Beleuchtungslinie zu erzeugen. In einigen Ausführungsformen stellt diese Linie einen visuellen Hinweis hinsichtlich einer virtuellen Grenze, nämlich einen imaginären oder virtuellen Ort im Raum, bereit, wobei eine Aktion des Benutzers, die virtuelle Grenze oder Ebene zu durchqueren oder zu durchbrechen, als eine Absicht zum Interagieren mit dem Rechensystem interpretiert wird. In einigen Ausführungsformen kann die Beleuchtungslinie die Farben wechseln, wenn das Rechensystem in Bezug auf den Benutzer in verschiedene Zustände übergeht. Die Beleuchtungslinie kann verwendet werden, um einen visuellen Hinweis für den Benutzer über eine virtuelle Grenze im Raum bereitzustellen, und kann durch das System verwendet werden, um Zustandsübergänge des Computers in Bezug auf den Benutzer zu bestimmen, einschließlich des Bestimmens, wann der Benutzer mit dem Computer interagieren möchte.
  • In einigen Ausführungsformen erfasst der Computer die Benutzerposition und arbeitet, um die Bewegung einer Hand des Benutzers durch die virtuelle Grenze als eine Geste zu interpretieren, die eine Absicht des Benutzers angibt, mit dem Computer zu interagieren. In einigen Ausführungsformen kann sich beim Durchqueren der virtuellen Linie oder Ebene das Licht, das durch den Lichtgenerator erzeugt wurde, ändern, wodurch eine visuelle Rückmeldung an den Benutzer bereitgestellt wird, dass der Benutzer in einen Bereich zum Bereitstellen von Gesten eingetreten ist, um Eingaben an den Computer bereitzustellen.
  • Anzeigebildschirme können visuelle Angaben von Zustandsübergängen des Rechensystems in Bezug auf einen Benutzer bereitstellen. In einigen Ausführungsformen wird ein erster Bildschirm in einem ersten Zustand bereitgestellt, in dem das Vorhandensein eines Benutzers durch das System erfasst wird, wie durch Verwendung eines oder mehrerer der Erfassungselemente.
  • In einigen Implementierungen wirkt das System, um eine Benutzeridentität zu erfassen, wie durch Gesichtserkennung. Hier kann ein Übergang zu einem zweiten Bildschirm in einem zweiten Zustand bereitgestellt werden, in dem das Rechensystem die Benutzeridentität erkannt hat, wobei dieser zweite Bildschirm eine visuelle Rückmeldung an den Benutzer bereitstellt, dass der Benutzer in einen neuen Zustand übergegangen ist. Ein Übergang zu einem dritten Bildschirm kann in einem dritten Zustand stattfinden, in dem der Benutzer die Erkennung des Benutzers bestätigt hat.
  • In einigen Ausführungsformen kann das Rechensystem einen Übergangsmechanismus verwenden, um einen Ort einer virtuellen Grenze für einen Benutzer zu bestimmen, wobei sich der Ort der virtuellen Grenze je nach Benutzer und Kontext ändern kann. Das Rechensystem kann ein Licht erzeugen, wie eine Beleuchtungslinie, um die virtuelle Grenze zum Interagieren mit dem System anzugeben. In einigen Ausführungsformen kann sich das Rechensystem in einem Wartezustand befinden und kann das Licht in einer ersten Farbe erzeugt werden. Das Rechensystem kann erkennen, ob der Benutzer die virtuelle Grenze überschritten hat, wie durch Erfassen des Vorhandenseins und von Bewegung des Benutzers unter Verwendung von Erfassungselementen.
  • In einigen Ausführungsformen, wenn erkannt wird, dass der Benutzer die virtuelle Grenze überschritten hat (wie, dass sich die Hände des Benutzers näher am Rechensystem als an der virtuellen Grenzlinie befinden), kann das Rechensystem in einen Zustand zum Empfangen von Gesteneingaben vom Benutzer übergehen, wobei ein Mechanismus zum Angeben des Übergangs beinhalten kann, dass das die virtuelle Grenze angebende Licht zu einer zweiten Farbe wechselt.
  • In einigen Ausführungsformen kann das Rechensystem dann bestimmen, ob eine Gestenbewegung erkannt wird. Wenn eine Gestenbewegung erkannt wird, kann das Rechensystem mit einem Gestenerkennungsprozess fortfahren, der die Verwendung von Daten aus einer Gestendatenbibliothek beinhalten kann, die sich im Speicher in der Rechenvorrichtung befinden kann oder auf die anderweitig durch die Rechenvorrichtung zugegriffen werden kann.
  • Wenn eine Geste des Benutzers erkannt wird, kann das Rechensystem, als Reaktion auf die Eingabe, eine Funktion durchführen und zum Empfangen zusätzlicher Gesten zurückkehren, wenn sich der Benutzer innerhalb der virtuellen Grenze befindet. In einigen Ausführungsformen, wenn die Geste nicht erkannt wird, kann das Rechensystem in einen Fehlerzustand übergehen, bei dem ein Mechanismus zum Angeben des Fehlerzustands beinhalten kann, dass das die virtuelle Grenze anzeigende Licht zu einer dritten Farbe wechselt, wobei das System zum Empfangen zusätzlicher Gesten zurückkehrt, wenn sich der Benutzer innerhalb der virtuellen Grenze zum Interagieren mit dem Rechensystem befindet.
  • Wie oben erwähnt wurde, kann das System in anderen Ausführungsformen als ein konvertierbares Tablet-System konfiguriert sein, das in zumindest zwei verschiedenen Modi verwendet werden kann, einem Tablet-Modus und einem Notebook-Modus. Das konvertierbare System kann zwei Felder aufweisen, nämlich ein Anzeigefeld und ein Basisfeld, sodass die zwei Felder im Tablet-Modus in einem Stapel übereinander angeordnet sind. Im Tablet-Modus weist das Anzeigefeld nach außen und kann Touchscreen-Funktionalität bereitstellen, wie sie in herkömmlichen Tablets zu finden ist. Im Notebook-Modus können die zwei Felder in einer offenen Muschelkonfiguration angeordnet sein.
  • In verschiedenen Ausführungsformen kann der Beschleunigungsmesser ein 3-Achsen-Beschleunigungsmesser sein, der Datenraten von zumindest 50 Hz aufweist. Ein Gyroskop kann ebenfalls enthalten sein, das ein 3-Achsen-Gyroskop sein kann. Zusätzlich kann ein E-Kompass/Magnetometer vorhanden sein. Auch können ein oder mehrere Näherungssensoren bereitgestellt werden (z. B. für „Deckel offen“ zum Erfassen, wenn sich eine Person in der Nähe des Systems befindet (oder nicht) und Anpassen der Leistung/Leistungsfähigkeit, um die Batterielebensdauer zu verlängern). Für die Sensorfusionsfähigkeit einiger OS kann das Aufnehmen des Beschleunigungsmessers, des Gyroskops und des Kompasses verbesserte Merkmale bereitstellen. Zusätzlich kann über einen Sensor-Hub mit einer Echtzeituhr (RTC) ein Aktivieren von Sensormechanismen umgesetzt sein, um Sensoreingaben zu empfangen, wenn sich ein Rest des Systems in einem Niedrigstromzustand befindet.
  • In einigen Ausführungsformen kann ein interner Deckel-/Anzeige-offen-Schalter oder -Sensor zum Angeben, wann der Deckel geschlossen/offen ist, vorhanden sein und kann verwendet werden, um das System in einen Connected Standby-Zustand zu versetzen oder automatisch aus dem Connected Standby-Zustand zu aktivieren. Andere Systemsensoren können ACPI-Sensoren zur internen Prozessor-, Speicher- und Hauttemperaturüberwachung beinhalten, um basierend auf erfassten Parametern Änderungen an Prozessor- und Systembetriebszuständen zu ermöglichen.
  • Wie ebenfalls in 8 zu sehen, können verschiedene Peripherievorrichtungen mit dem Prozessor 810 koppeln. Bei der gezeigten Ausführungsform können verschiedene Komponenten durch eine eingebettete Steuerung 835 gekoppelt sein. Solche Komponenten können eine Tastatur 836 (z. B. über eine PS2-Schnittstelle gekoppelt), einen Lüfter 837 und einen thermischen Sensor 839 beinhalten. In einigen Ausführungsformen kann das Touchpad 830 ebenfalls über eine PS2-Schnittstelle mit der EC 835 gekoppelt sein. Zusätzlich kann ein Sicherheitsprozessor, wie ein Trusted Platform Module (TPM) 838 gemäß der Trusted Computing Group (TCG) TPM-Spezifikation, Version 1.2, vom 2. Okt. 2003, über diese LPC-Verschaltung mit dem Prozessor 810 koppeln. Es versteht sich jedoch, dass der Schutzumfang der vorliegenden Offenbarung nicht darauf beschränkt ist und dass sich eine sichere Verarbeitung und Speicherung sicherer Informationen an einem anderen geschützten Ort befinden können, wie ein statischer Direktzugriffsspeicher (SRAM) in einem Sicherheits-Coprozessor, oder als verschlüsselte Daten-Blobs, die nur dann entschlüsselt werden, wenn sie durch einen Secure Enclave-Prozessormodus (SE-Prozessormodus) geschützt sind.
  • In einer bestimmten Implementierung können Peripherie-Ports einen High-Definition-Medienschnittstellen-Verbinder (HDMI-Verbinder) (der verschiedene Formfaktoren, wie volle Größe, Mini- oder Mikrogröße, aufweisen kann); einen oder mehrere USB-Ports, wie externe Ports voller Größe gemäß der Universal Serial Bus-Spezifikation (USB-Spezifikation), Revision 3.2 (September 2017), wobei zumindest einer mit Strom zum Laden von USB-Vorrichtungen (wie Smartphones), wenn sich das System im Connected Standby-Zustand befindet und in eine Wechselstromsteckdose eingesteckt ist, versorgt wird, beinhalten. Zusätzlich können ein oder mehrere ThunderboltTM-Ports bereitgestellt sein. Andere Ports können einen extern zugänglichen Kartenleser, wie einen SD-XC-Kartenleser in voller Größe und/oder einen SIM-Kartenleser für WWAN (z. B. einen 8-Pin-Kartenleser), beinhalten. Für Audio kann eine 3,5-mm-Buchse mit Stereosound- und Mikrofonfähigkeit (z. B. Kombinationsfunktionalität) vorhanden sein, mit Unterstützung für eine Steckererkennung (z. B. Nur-Kopfhörer-Unterstützung bei Verwendung des Mikrofons im Deckel oder Kopfhörer mit Mikrofon im Kabel). In einigen Ausführungsformen kann diese Buchse zwischen Stereo-Kopfhörer- und Stereo-Mikrofon-Eingang umweisbar sein. Außerdem kann ein Stromstecker zum Koppeln an ein externes Wechselstromnetzteil bereitgestellt werden.
  • Das System 800 kann mit externen Vorrichtungen auf eine Vielfalt von Weisen kommunizieren, einschließlich drahtlos. Bei der in 8 gezeigten Ausführungsform sind verschiedene drahtlose Module vorhanden, von denen jedes einem Funkgerät, das für ein bestimmtes drahtloses Kommunikationsprotokoll konfiguriert ist, entsprechen kann. Eine Art und Weise für drahtlose Kommunikation auf kurze Entfernung, wie etwa einem Nahfeld, kann über eine Nahfeldkommunikations-(NFC)-Einheit 845 erfolgen, die in einer Ausführungsform mit dem Prozessor 810 über einen SMBus kommunizieren kann. Es sei angemerkt, dass über diese NFC-Einheit 845 Vorrichtungen in direkter Nähe zueinander kommunizieren können. Zum Beispiel kann ein Benutzer ermöglichen, dass das System 800 mit einer anderen tragbaren Vorrichtung, wie einem Smartphone des Benutzers, kommuniziert, indem die zwei Vorrichtungen in enger Beziehung aneinander angepasst werden und eine Übertragung von Informationen, wie Identifikationsinformationen Zahlungsinformationen, Daten, wie Bilddaten oder dergleichen, ermöglicht wird. Eine drahtlose Stromübertragung kann ebenfalls unter Verwendung eines NFC-Systems durchgeführt werden.
  • Unter Verwendung der hier beschriebenen NFC-Einheit können Benutzer Vorrichtungen Seite an Seite auf Anschlag positionieren und Vorrichtungen Seite an Seite für Nahfeldkopplungsfunktionen (wie eine Nahfeldkommunikation und drahtlose Stromübertragung (WPT)) durch Nutzen der Kopplung zwischen Spulen von einer oder mehreren dieser Vorrichtungen anordnen. Insbesondere stellen Ausführungsformen Vorrichtungen mit strategisch geformten und angeordneten Ferritmaterialien bereit, um eine bessere Kopplung der Spulen bereitzustellen. Jede Spule weist eine ihr zugeordnete Induktivität auf, die zusammen mit den resistiven, kapazitiven und anderen Merkmalen des Systems ausgewählt werden kann, um eine gemeinsame Resonanzfrequenz für das System zu ermöglichen.
  • Wie weiter in 8 zu sehen ist, können zusätzliche drahtlose Einheiten andere drahtlose Nahbereichs-Engines beinhalten, einschließlich einer WLAN-Einheit 850 und einer Bluetooth-Einheit 852. Unter Verwendung der WLAN-Einheit 850 können Wi-Fi™-Kommunikationen gemäß einem gegebenen 802.11-Standard des Institute of Electrical and Electronics Engineers (IEEE) umgesetzt sein, wohingegen über die Bluetooth-Einheit 852 Nahbereichskommunikationen über ein Bluetooth-Protokoll stattfinden können. Diese Einheiten können mit dem Prozessor 810 z. B. über eine USB-Verbindung oder einen Universal Asynchronous Receiver Transmitter-Link (UART-Link) kommunizieren. Oder diese Einheiten können über eine Verschaltung gemäß einem Peripheral Component Interconnect Express™-Protokoll (PCIe™-Protokoll), z. B. gemäß der Basisspezifikation der PCI ExpressTM-Spezifikation, Version 3.0 (veröffentlicht am 17. Januar 2007), oder einem anderen derartigen Protokoll, wie einem Serial Data Input/Output-Standard (SDIO-Standard), an den Prozessor 810 koppeln. Natürlich kann die tatsächliche physische Verbindung zwischen diesen Peripherievorrichtungen, die auf einer oder mehreren Erweiterungskarten konfiguriert sein kann, mittels der auf einer Hauptplatine angepassten NGFF-Verbinder erfolgen.
  • Zusätzlich können drahtlose Weitbereichskommunikationen, z. B. gemäß einem Mobilfunk- oder einem anderen drahtlosen Weitbereichsprotokoll, über eine WWAN-Einheit 856 erfolgen, die wiederum an ein Subscriber Identity Module (SIM) 857 koppeln kann. Zusätzlich kann auch ein GPS-Modul 855 vorhanden sein, um einen Empfang und eine Verwendung von Ortsinformationen zu ermöglichen. Es sei angemerkt, dass in der in 8 gezeigten Ausführungsform die WWAN-Einheit 856 und eine integrierte Erfassungseinheit, wie etwa ein Kameramodul 854, über ein gegebenes USB-Protokoll, wie etwa eine 2.0- oder 3.0-Verbindung oder ein UART- oder I2C-Protokoll kommunizieren können. Auch hier kann die tatsächliche physische Verbindung dieser Einheiten über eine Anpassung einer NGFF-Erweiterungskarte an einen NGFF-Verbinder erfolgen, der auf der Hauptplatine konfiguriert ist.
  • In einer bestimmten Ausführungsform kann Drahtlosfunktionalität modular bereitgestellt werden, z. B. mit einer Lösung gemäß WiFiTM 802.11ac (z. B. einer Erweiterungskarte, die mit IEEE 802.11abgn abwärtskompatibel ist) mit Unterstützung für Windows 8 CS. Diese Karte kann in einem internen Steckplatz konfiguriert sein (z. B. über einen NGFF-Adapter). Ein zusätzliches Modul kann Bluetooth-Fähigkeit (z. B. Bluetooth 4.0 mit Abwärtskompatibilität) sowie Intel® Wireless Display-Funktionalität bereitstellen. Zusätzlich kann NFC-Unterstützung über eine separate Vorrichtung oder eine Multifunktionsvorrichtung bereitgestellt werden und kann als ein Beispiel für leichten Zugang in einem vorderen rechten Abschnitt des Gehäuses angeordnet sein. Noch ein weiteres zusätzliches Modul kann eine WWAN-Vorrichtung sein, die Unterstützung für 3G/4G/LTE und GPS bereitstellen kann. Dieses Modul kann in einem internen Steckplatz (z. B. einem NGFF-Steckplatz) implementiert sein. Integrierte Antennenunterstützung kann für WiFi™, Bluetooth, WWAN, NFC und GPS, was einen nahtlosen Übergang von WiFi™- zu WWAN-Funkvorrichtungen ermöglicht, drahtloses Gigabit (WiGig) gemäß der Wireless Gigabit-Spezifikation (Juli 2010) und umgekehrt bereitgestellt werden.
  • Wie oben beschrieben, kann eine integrierte Kamera im Deckel integriert sein. Als ein Beispiel kann diese Kamera eine hochauflösende Kamera sein und z. B. eine Auflösung von zumindest 2,0 Megapixel (MP) aufweisen und sich auf 6,0 MP und darüber hinaus erstrecken.
  • Um Audioeingänge und -ausgänge bereitzustellen, kann ein Audioprozessor über einen Digitalsignalprozessor (DSP) 860 implementiert sein, der über einen High Definition Audio-Link (HDA-Link) mit dem Prozessor 810 koppeln kann. In ähnlicher Weise kann der DSP 860 mit einem integrierten Coder/Decoder (CODEC) und Verstärker 862 kommunizieren, die wiederum einen Ausgangslautsprecher 863 koppeln können, die innerhalb des Gehäuses implementiert sein können. In ähnlicher Weise kann der Verstärker und CODEC 862 gekoppelt sein, um Audioeingaben von einem Mikrofon 865 zu empfangen, das in einer Ausführungsform über Dual-Array-Mikrofone (wie ein digitales Mikrofon-Array) implementiert sein kann, um qualitativ hochwertige Audioeingaben bereitzustellen, um eine sprachaktivierte Steuerung verschiedener Operationen innerhalb des Systems zu ermöglichen. Es sei außerdem angemerkt, dass Audioausgaben von dem Verstärker/CODEC 862 zu einer Kopfhörerbuchse 864 bereitgestellt werden können. Obwohl mit diesen speziellen Komponenten in der Ausführungsform von 8 gezeigt, versteht es sich, dass der Schutzumfang der vorliegenden Offenbarung in dieser Hinsicht nicht beschränkt ist.
  • Bei einer speziellen Ausführungsform sind der digitale Audio-Codec und der Verstärker in der Lage, die Stereo-Kopfhörerbuchse, die Stereo-Mikrofonbuchse, ein internes Mikrofon-Array und Stereo-Lautsprecher anzusteuern. In verschiedenen Implementierungen kann der Codec in einen Audio-DSP integriert sein oder über einen HD-Audiopfad an ein Peripheriesteuerungs-Hub (PCH) gekoppelt sein. In einigen Implementierungen können zusätzlich zu integrierten Stereolautsprechem ein oder mehrere Basslautsprecher bereitgestellt werden und kann die Lautsprecherlösung DTS-Audio unterstützen.
  • In einigen Ausführungsformen kann der Prozessor 810 durch einen externen Spannungsregler (VR) und mehrere interne Spannungsregler, die innerhalb des Prozessor-Die integriert sind, die als Fully Integrated Voltage Regulators (FIVRs) bezeichnet werden, mit Strom versorgt werden. Die Verwendung mehrerer FIVRs im Prozessor ermöglicht das Gruppieren von Komponenten in separate Leistungsebenen, sodass Strom durch den FIVR geregelt und nur an diese Komponenten in der Gruppe bereitgestellt wird. Während der Stromverwaltung kann eine gegebene Leistungsebene von einem FIVR heruntergefahren oder aus sein, wenn der Prozessor in einen bestimmten Niedrigstromzustand versetzt wird, während eine andere Leistungsebene eines anderen FIVR aktiv oder unter Vollleistung verbleibt.
  • Eine Stromsteuerung im Prozessor kann zu erhöhten Stromeinsparungen führen. Zum Beispiel kann Strom dynamisch zwischen Kernen zugeordnet werden, können einzelne Kerne die Frequenz/Spannung ändern und können mehrere tiefe Niedrigstromzustände bereitgestellt werden, um einen sehr geringen Stromverbrauch zu ermöglichen. Zusätzlich kann eine dynamische Steuerung der Kerne oder von unabhängigen Kernabschnitten einen reduzierten Stromverbrauch durch Herunterfahren von Komponenten, wenn sie nicht verwendet werden, unterstützen.
  • In verschiedenen Implementierungen kann ein Sicherheitsmodul, wie ein TPM, in einem Prozessor integriert sein oder kann eine diskrete Vorrichtung, wie eine TPM 2.0-Vorrichtung, sein. Mit einem integrierten Sicherheitsmodul, auch als Platform Trust Technology (PTT) bezeichnet, kann ermöglicht werden, dass BlOS/Firmware bestimmte Hardwaremerkmale für bestimmte Sicherheitsmerkmale, einschließlich sicherer Anweisungen, sicherem Booten, Intel® Anti-Theft Technology, Intel® Identity Protection Technology, Intel® Trusted Execution Technology (TxT) und Intel® Manageability Engine Technology, zusammen mit sicheren Benutzerschnittstellen, wie einer sicheren Tastatur und Anzeige, verfügbar macht.
  • Unter Bezugnahme auf als Nächstes auf 9 ist ein anderes Blockdiagramm für ein beispielhaftes Rechensystem, das als eine Hostvorrichtung oder Peripherievorrichtung dienen kann (oder sowohl eine Hostvorrichtung als auch eine oder mehrere Peripherievorrichtungen beinhalten kann), gemäß bestimmten Ausführungsformen gezeigt. Als ein spezifisches veranschaulichendes Beispiel ist das SoC 900 in einem Benutzer-Equipment (User Equipment, UE) enthalten. In einer Ausführungsform bezieht sich UE auf eine beliebige Vorrichtung, die von einem Endverbraucher zum Kommunizieren verwendet wird, wie ein handgehaltenes Telefon, Smartphone, Tablet, ultradünnes Notebook, Notebook mit Breitbandadapter oder eine beliebige andere ähnliche Kommunikationsvorrichtung. Oft verbindet sich ein UE mit einer Basisstation oder einem Knoten, der potenziell in seiner Natur einer Mobilstation (MS) in einem GSM-Netzwerk entspricht.
  • Hier beinhaltet das SoC 900 2 Kerne - 906 und 907. Ähnlich der Erörterung oben können die Kerne 906 und 907 einer Anweisungssatzarchitektur entsprechen, wie einem Intel® Architecture Core ™-basierten Prozessor, einem Advanced Micro Devices, Inc.-Prozessor (AMD-Prozessor), einem MIPS-basierten Prozessor, einem ARM-basierten Prozessordesign oder einem Kunden davon, sowie ihren Lizenznehmern oder Anwendern. Die Kerne 906 und 907 sind mit einer Cache-Steuerung 908 gekoppelt, die einer Busschnittstelleneinheit 909 und einem L2-Cache 910 zugeordnet ist, um mit anderen Teilen des Systems 900 zu kommunizieren. Die Verschaltung 912 beinhaltet eine On-Chip-Verschaltung, wie eine IOSF, AMBA oder eine andere oben erörterte Verschaltung, die potenziell einen oder mehrere Aspekte der beschriebenen Offenbarung implementiert.
  • Die Verschaltung 912 stellt Kommunikationskanäle zu den anderen Komponenten bereit, wie einem Teilnehmeridentitätsmodul (SIM) 930 zum Bilden einer Schnittstelle mit einer SIM-Karte, einem Boot-ROM 935 zum Halten von Boot-Code zur Ausführung durch die Kerne 906 und 907 zum Initialisieren und Booten des SoC 900, einer SDRAM-Steuerung 940 zum Bilden einer Schnittstelle mit einem externen Speicher (z. B. einem DRAM 960), einer Flash-Steuerung 945 zum Bilden einer Schnittstelle mit nichtflüchtigem Speicher (z. B. Flash 965), einer Peripheriesteuerung 950 (z. B. einer Serial Peripheral Interface) zum Bilden einer Schnittstelle mit Peripheriegeräten, den Video-Codecs 920 und einer Videoschnittstelle 925 zum Anzeigen und Empfangen einer Eingabe (z. B. einer berührungsempfindlichen Eingabe), einer GPU 915 zum Durchführen grafikbezogener Berechnungen usw. Beliebige dieser Schnittstellen können Aspekte der hier beschriebenen Offenbarung beinhalten.
  • Zusätzlich veranschaulicht das System Peripheriegeräte zur Kommunikation, wie ein Bluetooth-Modul 970, ein 3G-Modem 975, ein GPS 980 und WiFi 985. Es ist zu beachten, wie oben angemerkt, dass eine UE eine Funkvorrichtung zur Kommunikation beinhaltet. Als ein Ergebnis sind diese peripheren Kommunikationsmodule nicht alle erforderlich. In einem UE soll jedoch irgendeine Form einer Funkvorrichtung für eine externe Kommunikation enthalten sein.
  • Wenngleich die Zeichnungen bestimmte Computersysteme darstellen, sind die Konzepte verschiedener Ausführungsformen auf beliebige geeignete integrierte Schaltungen und sonstige Logikvorrichtungen anwendbar. Beispiele für Vorrichtungen, in denen Lehren der vorliegenden Offenbarung verwendbar sind, beinhalten Desktop-Computersysteme, Server-Computersysteme, Speicherungssysteme, handgehaltene Vorrichtungen, Tablets, sonstige dünne Notebooks, System-on-a-Chip-Vorrichtungen (SOC-Vorrichtungen) und eingebettete Anwendungen. Einige Beispiele für handgehaltene Vorrichtungen beinhalten Mobiltelefone, Digitalkameras, Medienwiedergabevorrichtungen, Personal Digital Assistants (PDAs) und handgehaltene PCs. Eingebettete Anwendungen können z. B. einen Mikrocontroller, einen Digitalsignalprozessor (DSP), ein SOC, einen Netzwerkcomputer (NetPC), eine Set-Top-Box, einen Netzwerk-Hub, einen Weitverkehrsnetzwerk-Switch (WAN-Switch) oder ein beliebiges anderes System, das die unten gelehrten Funktionen und Operationen durchführen kann, beinhalten. Verschiedene Ausführungsformen der vorliegenden Offenbarung können in einer beliebigen geeigneten Rechenumgebung verwendet werden, wie einer persönlichen Rechenvorrichtung, einem Server, einem Mainframe, einer Cloud-Rechendienstanbieterinfrastruktur, einem Rechenzentrum, einer Kommunikationsdienstanbieterinfrastruktur (z. B. einem oder mehreren Abschnitten eines Evolved Packet Core) oder einer anderen Umgebung, die eine Gruppe von Rechenvorrichtungen umfasst.
  • Ein Design kann verschiedene Stufen durchlaufen, von der Erstellung zur Simulation zur Herstellung. Daten, die ein Design repräsentieren, können das Design auf eine Anzahl von Weisen repräsentieren. Zuerst, wie bei Simulationen nützlich, kann die Hardware unter Verwendung einer Hardwarebeschreibungssprache (HDL) oder einer anderen funktionalen Beschreibungssprache repräsentiert werden. Zusätzlich kann in einigen Phasen des Designprozesses ein Modell auf Schaltungsebene mit Logik- und/oder Transistorgattern hergestellt werden. Darüber hinaus erreichen die meisten Designs auf einer gewissen Stufe eine Datenebene, welche die physische Platzierung verschiedener Vorrichtungen in dem Hardwaremodell repräsentiert. In dem Fall, in dem herkömmliche Halbleiterherstellungstechniken verwendet werden, können die Daten, die das Hardwaremodell repräsentieren, die Daten sein, die das Vorhandensein oder das Nichtvorhandensein verschiedener Merkmale auf unterschiedlichen Maskenschichten für Masken, die zum Herstellen der integrierten Schaltung verwendet werden, angeben. In einigen Implementierungen können solche Daten in einem Datenbankdateiformat, wie Graphic Data System II (GDS II), Open Artwork System Interchange Standard (OASIS) oder einem ähnlichen Format, gespeichert sein.
  • In einigen Implementierungen können softwarebasierte Hardwaremodelle und Objekte einer HDL und anderer funktionaler Beschreibungssprachen neben anderen Beispielen Registertransfersprachedateien (RTL-Dateien) beinhalten. Solche Objekte können maschinenparsbar sein, sodass ein Design-Tool das HDL-Objekt (oder -Modell) akzeptieren, das HDL-Objekt auf Attribute der beschriebenen Hardware parsen und eine physische Schaltung und/oder ein On-Chip-Layout aus dem Objekt bestimmen kann. Die Ausgabe des Design-Tools kann zur Herstellung der physischen Vorrichtung verwendet werden. Beispielsweise kann ein Konzeptionswerkzeug Auslegungen verschiedener Hardware- und/oder Firmwareelemente aus dem HDL-Objekt bestimmen, wie beispielsweise Busbreiten, Register (einschließlich Größen und Typen), Speicherblöcke, physische Verbindungspfade, Fabric-Topologien, unter anderen Attributen, die implementiert würden, um das im HDL-Objekt modellierte System zu realisieren. Design-Tools können Werkzeuge zum Bestimmen der Topologie und Fabric-Konfigurationen von System-on-Chip (SoC) und einer anderen Hardwarevorrichtung beinhalten. In einigen Fällen kann das HDL-Objekt als die Basis zum Entwickeln von Modellen und Design-Dateien verwendet werden, die durch Herstellungsausrüstung zum Herstellen der beschriebenen Hardware verwendet werden können. Tatsächlich kann ein HDL-Objekt selbst als eine Eingabe in Herstellungssystemsoftware bereitgestellt werden, um die beschriebene Hardware zu bewirken.
  • Bei einer beliebigen Repräsentation der Gestaltung können die Daten in beliebiger Form eines maschinenlesbaren Mediums gespeichert werden. Ein Speicher oder eine magnetische oder optische Speicherung, wie eine Platte, kann das maschinenlesbare Medium zum Speichern von Informationen sein, die über optische oder elektrische Wellen übertragen werden, die moduliert oder anderweitig erzeugt werden, um solche Informationen zu übertragen. Wenn eine elektrische Trägerwelle, die den Code oder das Design angibt oder enthält, insoweit als ein Kopieren, Puffern oder Neuübertragen des elektrischen Signals durchgeführt wird, übertragen wird, wird eine neue Kopie erstellt. Somit kann ein Kommunikationsanbieter oder ein Netzanbieter auf einem greifbaren maschinenlesbaren Medium zumindest vorübergehend ein Element, wie in eine Trägerwelle codierte Informationen, die Techniken von Ausführungsformen der vorliegenden Offenbarung verkörpern, speichern.
  • In verschiedenen Ausführungsformen kann ein Medium, das eine Repräsentation des Designs speichert, einem Herstellungssystem (z. B. einem Halbleiterherstellungssystem, das in der Lage ist, eine integrierte Schaltung und/oder verwandte Komponenten herzustellen) bereitgestellt werden. Die Design-Repräsentation kann das System anweisen, eine Vorrichtung herzustellen, die in der Lage ist, eine beliebige Kombination der oben beschriebenen Funktionen durchzuführen. Zum Beispiel kann die Design-Repräsentation das System dahingehend, welche Komponenten herzustellen sind, wie die Komponenten miteinander gekoppelt werden sollten, wo die Komponenten auf der Vorrichtung angeordnet werden sollten, und/oder bezüglich anderer geeigneter Spezifikationen bezüglich der herzustellenden Vorrichtung anweisen.
  • Ein Modul, wie es hier verwendet wird oder wie es in den FIG. dargestellt ist, bezieht sich auf eine beliebige Kombination von Hardware, Software und/oder Firmware. Ein Modul weist als ein Beispiel Hardware, wie einen Mikrocontroller, auf, der einem nichtflüchtigen Medium zugeordnet ist, um Code zu speichern, der angepasst ist, um durch den Mikrocontroller ausgeführt zu werden. Daher bezieht sich eine Bezugnahme auf ein Modul in einer Ausführungsform auf die Hardware, die spezifisch dazu konfiguriert ist, den Code, der auf einem nichtflüchtigen Medium gehalten werden soll, zu erkennen und/oder auszuführen. Des Weiteren bezieht sich die Verwendung eines Moduls in einer anderen Ausführungsform auf das nichtflüchtige Medium, das den Code einschließt, der spezifisch angepasst ist, um durch den Mikrocontroller ausgeführt zu werden, um vorbestimmte Operationen durchzuführen. Und wie zu erkennen ist, kann sich der Begriff Modul (in diesem Beispiel) in nach einer weiteren Ausführungsform auf die Kombination des Mikrocontrollers und des nichtflüchtigen Mediums beziehen. Modulgrenzen, die als separat veranschaulicht sind, variieren üblicherweise oft und überlappen sich potenziell. Zum Beispiel können ein erstes und ein zweites Modul Hardware, Software, Firmware oder eine Kombination davon teilen, während potenziell eine unabhängige Hardware, Software oder Firmware beibehalten wird. Bei einer Ausführungsform schließt die Verwendung des Begriffs Logik Hardware, wie etwa Transistoren, Register oder andere Hardware, wie etwa programmierbare Logikvorrichtungen, ein.
  • Logik kann verwendet werden, um beliebige der beschriebenen Flüsse oder Funktionalität der verschiedenen Komponenten der FIG., Subkomponenten davon oder einer anderen hier beschriebenen Entität oder Komponente zu implementieren. „Logik“ kann sich auf Hardware, Firmware, Software und/oder Kombinationen davon zum Durchführen einer oder mehrerer Funktionen beziehen. In verschiedenen Ausführungsformen kann Logik einen Mikroprozessor oder ein anderes Verarbeitungselement, der/das zum Ausführen von Softwareanweisungen betreibbar ist, diskrete Logik, wie eine anwendungsspezifische integrierte Schaltung (ASIC), eine programmierte Logikvorrichtung, wie eine vor Ort programmierbare Gatteranordnung (FPGA), eine Anweisungen enthaltende Speicherungsvorrichtung, Kombinationen von Logikvorrichtungen (wie sie z. B. auf einer gedruckten Leiterplatte zu finden wären) oder andere geeignete Hardware und/oder Software beinhalten. Logik kann ein oder mehrere Gatter oder sonstige Schaltungskomponenten beinhalten. In einigen Ausführungsformen kann Logik außerdem vollständig als Software ausgeführt sein. Software kann als ein Softwarepaket, Code, Anweisungen, Anweisungssätze und/oder Daten, das/der/die auf einem nichtflüchtigen computerlesbaren Speicherungsmedium aufgezeichnet ist/sind, ausgeführt sein. Firmware kann als Code, Anweisungen oder Anweisungssätze und/oder Daten, die in Speicherungsvorrichtungen hartcodiert (z. B. nichtflüchtig) sind, ausgeführt sein.
  • Die Verwendung des Ausdrucks „zum“ oder „konfiguriert, um zu“ bezieht sich in einer Ausführungsform auf ein Anordnen, Zusammenstellen, Herstellen, Anbieten zum Verkauf, Importieren und/oder Gestalten einer Einrichtung, von Hardware, von Logik oder eines Elements, um eine bezeichnete oder bestimmte Aufgabe durchzuführen. In diesem Beispiel ist eine Einrichtung oder ein Element davon, die/das nicht arbeitet, weiterhin „konfiguriert, um“ eine bezeichnete Aufgabe durchzuführen, wenn es ausgelegt, gekoppelt und/oder verschaltet ist, um die bezeichnete Aufgabe durchzuführen. Als rein veranschaulichendes Beispiel kann ein Logikgatter während des Betriebs eine 0 oder eine 1 bereitstellen. Ein Logikgatter, das „konfiguriert ist, um“ einem Takt ein Aktivierungssignal bereitzustellen, schließt nicht jedes mögliche Logikgatter ein, das eine 1 oder 0 bereitstellen kann. Stattdessen ist das Logikgatter eines, das auf eine Weise gekoppelt ist, sodass der 1- oder 0-Ausgang während des Betriebs den Taktgeber aktivieren soll. Es sei erneut angemerkt, dass die Verwendung des Begriffs „konfiguriert, um“ keine Operation erfordert, sondern sich stattdessen auf den latenten Zustand einer Einrichtung, einer Hardware und/oder eines Elements richtet, wobei in dem latenten Zustand die Einrichtung, die Hardware und/oder das Element dazu gestaltet sind, eine bestimmte Aufgabe auszuführen, wenn die Einrichtung, die Hardware, und/oder das Element betrieben werden.
  • Des Weiteren bezieht sich die Verwendung der Ausdrücke „dazu in der Lage“ und/oder „dazu betreibbar“ in einer Ausführungsform auf eine Einrichtung, Logik, Hardware und/oder ein Element, die/das derart ausgelegt ist, dass sie/es die Verwendung der Einrichtung, Logik, Hardware und/oder des Elements auf eine angegebene Weise ermöglicht. Wie oben sei angemerkt, dass sich die Verwendung von „dazu in der Lage“ oder „dazu betreibbar“ in einer Ausführungsform auf den latenten Zustand einer Einrichtung, Logik, Hardware und/oder eines Elements bezieht, wobei die Einrichtung, Logik, Hardware und/oder das Element nicht arbeitet, aber auf eine solche Weise ausgelegt ist, dass sie die Verwendung einer Einrichtung auf eine angegebene Weise ermöglicht.
  • Wie hier verwendet, beinhaltet ein Wert eine beliebige bekannte Repräsentation einer Zahl, eines Zustands, eines logischen Zustands oder eines binären logischen Zustands. Häufig wird die Verwendung von Logikpegeln, Logikwerten oder logischen Werten auch als 1en und 0en bezeichnet, was einfach binäre Logikzustände repräsentiert. Zum Beispiel bezieht sich 1 auf einen hohen Logikpegel, und 0 bezieht sich auf einen niedrigen Logikpegel. Bei einer Ausführungsform kann eine Speicherungszelle, wie ein Transistor oder eine Flash-Zelle, dazu in der Lage sein, einen einzelnen logischen Wert oder mehrere logische Werte zu halten. Es wurden jedoch andere Repräsentationen von Werten in Computersystemen verwendet. Zum Beispiel kann die Dezimalzahl zehn auch als ein Binärwert 1010 und als ein Hexadezimalbuchstabe A repräsentiert werden. Daher beinhaltet ein Wert eine beliebige Repräsentation von Informationen, die in einem Computersystem gehalten werden können.
  • Darüber hinaus können Zustände durch Werte oder Abschnitte von Werten repräsentiert werden. Als ein Beispiel kann ein erster Wert, wie eine logische Eins, einen Standard- oder Anfangszustand repräsentieren, während ein zweiter Wert, wie eine logische Null, einen nicht standardmäßigen Zustand repräsentieren kann. Zusätzlich beziehen sich die Begriffe Zurücksetzen und Setzen in einer Ausführungsform auf einen Standard- bzw. einen aktualisierten Wert oder Zustand. Zum Beispiel beinhaltet ein Standardwert potenziell einen hohen logischen Wert, d. h. ein Zurücksetzen, während ein aktualisierter Wert potenziell einen niedrigen logischen Wert, d. h. ein Setzen, beinhaltet. Es ist anzumerken, dass eine beliebige Kombination von Werten genutzt werden kann, um eine beliebige Anzahl von Zuständen zu repräsentieren.
  • Die oben dargelegten Ausführungsformen von Verfahren, Hardware, Software, Firmware oder Code können über auf einem maschinenzugreifbaren, maschinenlesbaren, computerzugreifbaren oder computerlesbaren Medium gespeicherte Anweisungen oder gespeicherten Code implementiert sein, die durch ein Verarbeitungselement ausführbar sind. Ein maschinen zugängliches/-lesbares Medium beinhaltet einen beliebigen Mechanismus, der Informationen in einer durch eine Maschine, wie einen Computer oder ein elektronisches System, lesbaren Form bereitstellt (d. h. speichert und/oder überträgt). Zum Beispiel beinhaltet ein maschinenzugängliches Medium Direktzugriffsspeicher (RAM), wie statischen RAM (SRAM) oder dynamischen RAM (DRAM); ROM; ein magnetisches oder optisches Speicherungsmedium; Flash-Speicherungsvorrichtungen; elektrische Speicherungsvorrichtungen; optische Speicherungsvorrichtungen; akustische Speicherungsvorrichtungen; eine andere Form von Speicherungsvorrichtungen zum Halten von Informationen, die von transitorischen (propagierten) Signalen (z. B. Trägerwellen, Infrarotsignalen, Digitalsignalen) usw. empfangen werden; die von den nichttransitorischen Medien zu unterscheiden sind, die Informationen von diesen empfangen können.
  • Anweisungen, die zum Programmieren von Logik verwendet werden, um Ausführungsformen der Offenbarung durchzuführen, können in einem Speicher im System, wie DRAM, Cache, Flash-Speicher oder einer anderen Speicherung, gespeichert sein. Des Weiteren können die Anweisungen über ein Netzwerk oder über andere computerlesbare Medien verteilt werden. Somit kann ein maschinenlesbares Medium einen beliebigen Mechanismus zum Speichern oder Übertragen von Informationen in einer durch eine Maschine (z. B. einen Computer) lesbaren Form beinhalten, ist aber nicht beschränkt auf Disketten, optische Platten, Compact Disc Read-Only Memory (CD-ROMs) und magnetooptische Platten, Read-Only Memory (ROMs), Direktzugriffsspeicher (RAM), löschbaren programmierbaren Nurlesespeicher (EPROM), elektrisch löschbaren programmierbaren Nurlesespeicher (EEPROM), magnetische oder optische Karten, Flash-Speicher oder einen greifbaren maschinenlesbaren Speicher, der bei der Übertragung von Informationen über das Internet über elektrische, optische, akustische oder andere Formen propagierter Signale (z. B. Trägerwellen, Infrarotsignale, digitaler Signale usw.) verwendet wird. Dementsprechend beinhaltet das computerlesbare Medium einen beliebigen Typ eines greifbaren maschinenlesbaren Mediums, das zum Speichern oder Übertragen elektronischer Anweisungen oder Informationen in einer durch eine Maschine (z. B. einen Computer) lesbaren Form geeignet ist.
  • Durchgehend bedeutet in dieser Beschreibung eine Bezugnahme auf „eine Ausführungsform“, dass ein bestimmtes Merkmal, eine bestimmte Struktur oder eine bestimmte Eigenschaft, das/die in Verbindung mit der Ausführungsform beschrieben wird, in zumindest einer Ausführungsform der vorliegenden Offenbarung enthalten ist. Das Vorkommen des Ausdrucks „in einer Ausführungsform“ an verschiedenen Stellen über die gesamte Beschreibung hinweg bezieht sich also nicht immer notwendigerweise auf dieselbe Ausführungsform. Darüber hinaus können die bestimmten Merkmale, Strukturen oder Eigenschaften in einer oder mehreren Ausführungsformen auf jede geeignete Weise kombiniert werden.
  • In der vorstehenden Beschreibung wurde unter Bezugnahme auf spezifische beispielhafte Ausführungsformen eine detaillierte Beschreibung gegeben. Es ist jedoch offensichtlich, dass verschiedene Modifikationen und Änderungen daran vorgenommen werden können, ohne vom umfassenderen Wesen und Schutzumfang der Offenbarung abzuweichen, wie es/er in den beigefügten Ansprüchen dargelegt wird. Die Beschreibung und die Zeichnungen sind entsprechend in einem veranschaulichenden Sinne und nicht in einem einschränkenden Sinne zu betrachten. Des Weiteren bezieht sich die vorstehende Verwendung einer Ausführungsform und einer anderen beispielhaften Formulierung nicht notwendigerweise auf die gleiche Ausführungsform oder das gleiche Beispiel, sondern kann sich auf verschiedene und unterschiedliche Ausführungsformen sowie potenziell auf die gleiche Ausführungsform beziehen.
  • Beispiel 1 beinhaltet ein System, umfassend eine erste Kachel, die eine erste Instanz einer Mehrzahl von globalen Endpunkten und eine erste Instanz einer Mehrzahl von lokalen Netzwerken umfasst, die eine Mehrzahl von lokalen Endpunkten umfassen; eine zweite Kachel, umfassend eine zweite Instanz der Mehrzahl von globalen Endpunkten und eine zweite Instanz der Mehrzahl von lokalen Netzwerken, die die Mehrzahl von lokalen Endpunkten umfassen; und ein Verschaltungsnetzwerk der ersten Kachel und der zweiten Kachel, wobei das Verschaltungsnetzwerk einen Adressraum nutzt, der eindeutige Kennungen für die Mehrzahl von globalen Endpunkten der ersten und zweiten Kachel umfasst; und nicht eindeutige Kennungen für die Mehrzahl von lokalen Endpunkten der ersten und zweiten Kachel, wobei nicht eindeutige Kennungen in mehreren lokalen Netzwerken der Mehrzahl von lokalen Netzwerken der ersten und zweiten Kachel wiederverwendet werden.
  • Beispiel 2 beinhaltet den Gegenstand von Beispiel 1, und wobei das Verschaltungsnetzwerk ein globales Netzwerk der ersten Kachel umfasst, wobei das globale Netzwerk globale Endpunkte der Mehrzahl von globalen Endpunkten mit lokalen Netzwerken der Mehrzahl von lokalen Netzwerken der ersten Kachel koppelt.
  • Beispiel 3 beinhaltet den Gegenstand von einem der Beispiele 1 und 2, und wobei das Verschaltungsnetzwerk eine Brücke umfasst, die mit dem globalen Netzwerk und einem ersten lokalen Netzwerk der Mehrzahl von lokalen Netzwerke gekoppelt ist, wobei die Brücke eine Kennung des ersten lokalen Netzwerks an Nachrichten anhängt, die vom ersten lokalen Netzwerk an das globale Netzwerk gesendet werden.
  • Beispiel 4 beinhaltet den Gegenstand von einem der Beispiele 1 bis 3, und wobei das Verschaltungsnetzwerk eine Brücke umfasst, die mit dem globalen Netzwerk und einem ersten lokalen Netzwerk der Mehrzahl von lokalen Netzwerken gekoppelt ist, wobei die Brücke eine Kennung des ersten lokalen Netzwerks aus Nachrichten löscht, die von dem globalen Netzwerk an das lokale Netzwerk gesendet werden.
  • Beispiel 5 beinhaltet den Gegenstand von einem der Beispiele 1 bis 4, und wobei das globale Netzwerk einen ersten globalen Router umfasst, der mehrere Routing-Tabellen umfasst, wobei das System ferner ein zweites globales Netzwerk der zweiten Kachel umfasst, wobei das zweite globale Netzwerk einen zweiten globalen Router umfasst, der die gleiche Mehrzahl von Routing-Tabellen umfasst.
  • Beispiel 6 beinhaltet den Gegenstand von einem der Beispiele 1 bis 5, wobei ein Konfigurationsparameter dazu dient, eine erste Routing-Tabelle der Mehrzahl von Routing-Tabellen des ersten globalen Routers zur Verwendung durch den ersten globalen Router auszuwählen.
  • Beispiel 7 beinhaltet den Gegenstand von einem der Beispiele 1 bis 6, wobei eine erste Nachricht, die innerhalb eines lokalen Netzwerks der Mehrzahl von lokalen Netzwerken kommuniziert wird, basierend auf einer Adresse eines lokalen Headers der ersten Nachricht geroutet wird, und wobei eine zweite Nachricht, die innerhalb des globalen Netzwerks kommuniziert wird, basierend auf einer Adresse eines globalen Headers der zweiten Nachricht geroutet wird.
  • Beispiel 8 beinhaltet den Gegenstand von einem der Beispiele 1 bis 7, und wobei ein lokaler Endpunkt der Mehrzahl von lokalen Endpunkten mit mindestens einem anderen lokalen Endpunkt des gleichen lokalen Netzwerks und mit mindestens einem der globalen Endpunkte kommunizieren soll, jedoch nicht mit lokalen Endpunkten der anderen lokalen Netzwerke kommunizieren soll.
  • Beispiel 9 beinhaltet den Gegenstand von einem der Beispiele 1 bis 8, und wobei ein globaler Endpunkt der Mehrzahl von globalen Endpunkten mit mindestens einem der globalen Endpunkte und mindestens einem lokalen Endpunkt einer Mehrzahl unterschiedlicher lokaler Netzwerke kommunizieren soll.
  • Beispiel 10 beinhaltet den Gegenstand von einem der Beispiele 1 bis 9, und ferner beinhaltend mindestens eine zusätzliche Kachel, die jeweils eine zusätzliche Instanz der Mehrzahl von globalen Endpunkten und eine zusätzliche Instanz der Mehrzahl von lokalen Netzwerken, die die Mehrzahl von lokalen Endpunkten umfasst, umfasst.
  • Beispiel 11 beinhaltet den Gegenstand von einem der Beispiele 1 bis 10, und wobei die erste Kachel einen Prozessor umfasst.
  • Beispiel 12 beinhaltet den Gegenstand von einem der Beispiele 1 bis 11, und ferner umfassend eine kommunikativ mit dem Prozessor gekoppelte Batterie, eine kommunikativ mit dem Prozessor gekoppelte Anzeige oder eine kommunikativ mit dem Prozessor gekoppelte Netzwerkschnittstelle.
  • Beispiel 13 beinhaltet den Gegenstand von einem der Beispiele 1 bis 12, und ferner umfassend ein Halbleitergehäuse, das die erste Kachel und die zweite Kachel umfasst.
  • Beispiel 14 beinhaltet eine Einrichtung, umfassend eine erste Kachel, die eine erste Instanz einer Mehrzahl von globalen Endpunkten umfasst, und eine erste Instanz einer Mehrzahl von lokalen Netzwerken, die eine Mehrzahl von lokalen Endpunkten umfasst; und ein Verschaltungsnetzwerk der ersten Kachel zum Koppeln mit einem Verschaltungsnetzwerk einer zweiten Kachel, wobei die zweite Kachel eine zweite Instanz der Mehrzahl von globalen Endpunkten umfasst und eine zweite Instanz der Mehrzahl von lokalen Netzwerken die Mehrzahl von lokalen Endpunkten umfasst; wobei das Verschaltungsnetzwerk einen Adressraum nutzt, der eindeutige Kennungen für die Mehrzahl von globalen Endpunkte der ersten und zweiten Kachel umfasst; und nicht eindeutige Kennungen für die Mehrzahl von lokalen Endpunkten der ersten und zweiten Kachel, wobei nicht eindeutige Kennungen in mehreren lokalen Netzwerken der Mehrzahl von lokalen Netzwerke der ersten und zweiten Kachel wiederverwendet werden.
  • Beispiel 15 beinhaltet den Gegenstand von Beispiel 14, und wobei das Verschaltungsnetzwerk eine Brücke zum Empfangen einer Nachricht von einem ersten lokalen Endpunkt eines ersten lokalen Netzwerks der Mehrzahl von lokalen Netzwerke und Anhängen einer Kennung des ersten lokalen Netzwerks an die Nachricht, bevor die Nachricht an einen ersten globalen Endpunkt der Mehrzahl von globalen Endpunkten gesendet wird, umfasst.
  • Beispiel 16 beinhaltet den Gegenstand von einem der Beispiele 14 und 15, und wobei das Verschaltungsnetzwerk eine Brücke zum Empfangen einer Nachricht von einem ersten globalen Endpunkt der Mehrzahl von globalen Endpunkten und Löschen einer Kennung eines ersten lokalen Netzwerks aus der Nachricht umfasst, bevor die Nachricht an einen ersten lokalen Endpunkt des ersten lokalen Netzwerks gesendet wird.
  • Beispiel 17 beinhaltet den Gegenstand von einem der Beispiele 14 bis 16, und wobei ein lokaler Endpunkt der Mehrzahl von lokalen Endpunkten mit mindestens einem anderen lokalen Endpunkt des gleichen lokalen Netzwerks und mit mindestens einem der globalen Endpunkte kommunizieren soll, jedoch nicht mit lokalen Endpunkten der anderen lokalen Netzwerke kommunizieren soll.
  • Beispiel 18 beinhaltet den Gegenstand von einem der Beispiele 14 bis 17, und wobei das Verschaltungsnetzwerk der ersten Kachel ein globales Netzwerk der ersten Kachel umfasst, wobei das globale Netzwerk globale Endpunkte der Mehrzahl von globalen Endpunkten mit lokalen Netzwerken der Mehrzahl von lokalen Netzwerken der ersten Kachel koppelt.
  • Beispiel 19 beinhaltet den Gegenstand von einem der Beispiele 14 bis 18, und wobei das globale Netzwerk der ersten Kachel einen ersten globalen Router umfasst, der eine Mehrzahl von Routing-Tabellen umfasst, wobei die zweite Kachel ein zweites globales Netzwerk umfasst, wobei das zweite globale Netzwerk einen zweiten globalen Router umfasst, der die gleiche Mehrzahl von Routing-Tabellen umfasst.
  • Beispiel 20 beinhaltet den Gegenstand von einem der Beispiele 14 bis 19, wobei ein Konfigurationsparameter dazu dient, eine erste Routing-Tabelle der Mehrzahl von Routing-Tabellen des ersten globalen Routers zur Verwendung durch den ersten globalen Router auszuwählen.
  • Beispiel 21 beinhaltet den Gegenstand von einem der Beispiele 14 bis 20, wobei eine erste Nachricht, die innerhalb eines lokalen Netzwerks der Mehrzahl von lokalen Netzwerken kommuniziert wird, basierend auf einer Adresse eines lokalen Headers der ersten Nachricht geroutet wird, und wobei eine zweite Nachricht, die innerhalb des globalen Netzwerks kommuniziert wird, basierend auf einer Adresse eines globalen Headers der zweiten Nachricht geroutet wird.
  • Beispiel 22 beinhaltet den Gegenstand von einem der Beispiele 14 bis 21, und wobei ein globaler Endpunkt der Mehrzahl von globalen Endpunkten mit mindestens einem der globalen Endpunkte und mindestens einem lokalen Endpunkt einer Mehrzahl unterschiedlicher lokaler Netzwerke kommunizieren soll.
  • Beispiel 23 beinhaltet den Gegenstand von einem der Beispiele 14 bis 22, und ferner beinhaltend mindestens eine zusätzliche Kachel, die jeweils eine zusätzliche Instanz der Mehrzahl von globalen Endpunkten und eine zusätzliche Instanz der Mehrzahl von lokalen Netzwerken, die die Mehrzahl von lokalen Endpunkten umfasst, umfasst.
  • Beispiel 24 beinhaltet den Gegenstand von einem der Beispiele 14 bis 23, und wobei die erste Kachel einen Prozessor umfasst.
  • Beispiel 25 beinhaltet den Gegenstand von einem der Beispiele 14 bis 24, und ferner umfassend eine kommunikativ mit dem Prozessor gekoppelte Batterie, eine kommunikativ mit dem Prozessor gekoppelte Anzeige oder eine kommunikativ mit dem Prozessor gekoppelte Netzwerkschnittstelle.
  • Beispiel 25 beinhaltet den Gegenstand eines der Beispiele 14 bis 25, wobei die Einrichtung ferner ein Halbleitergehäuse umfasst, das die erste Kachel und die zweite Kachel umfasst.
  • Beispiel 27 beinhaltet ein Verfahren, umfassend das Zuweisen eindeutiger Kennungen aus einem Adressraum eines Verschaltungsnetzwerks zu einer Mehrzahl von globalen Endpunkten einer ersten und einer zweiten Kachel, wobei die erste Kachel eine erste Instanz der Mehrzahl von globalen Endpunkten und eine erste Instanz einer Mehrzahl von lokalen Netzwerken, die eine Mehrzahl von lokalen Endpunkten umfasst, umfasst, wobei die zweite Kachel eine zweite Instanz der Mehrzahl von globalen Endpunkten und eine zweite Instanz der Mehrzahl von lokalen Netzwerken, die die Mehrzahl von lokalen Endpunkten umfasst, umfasst; und Zuweisen nicht eindeutiger Kennungen aus dem Adressraum des Verschaltungsnetzwerks zu der Mehrzahl von lokalen Endpunkten, wobei nicht eindeutige Kennungen in mehreren lokalen Netzwerken der Mehrzahl von lokalen Netzwerken der ersten und zweiten Kachel wiederverwendet werden.
  • Beispiel 28 beinhaltet den Gegenstand von Beispiel 27, und ferner beinhaltend das Konfigurieren eines Routers der ersten Kachel, um eine erste Routing-Tabelle zu nutzen, wobei der Router der ersten Kachel eine Mehrzahl von Routing-Tabellen umfasst.
  • Beispiel 29 beinhaltet den Gegenstand von einem der Beispiele 27 und 28 und beinhaltet ferner das Konfigurieren eines Routers der zweiten Kachel, um eine zweite Routing-Tabelle zu nutzen, wobei der Router der zweiten Kachel die Mehrzahl von Routing-Tabellen umfasst.

Claims (25)

  1. System, umfassend: eine erste Kachel, umfassend eine erste Instanz einer Mehrzahl von globalen Endpunkten und eine erste Instanz einer Mehrzahl von lokalen Netzwerken, umfassend eine Mehrzahl von lokalen Endpunkten; eine zweite Kachel, umfassend eine zweite Instanz der Mehrzahl von globalen Endpunkten und eine zweite Instanz der Mehrzahl von lokalen Netzwerken, umfassend die Mehrzahl von lokalen Endpunkten; und ein Verschaltungsnetzwerk der ersten Kachel und der zweiten Kachel, wobei das Verschaltungsnetzwerk einen Adressraum nutzt, der Folgendes umfasst: eindeutige Kennungen für die Mehrzahl von globalen Endpunkten der ersten und zweiten Kachel; und nicht eindeutige Kennungen für die Mehrzahl von lokalen Endpunkten der ersten und zweiten Kachel, wobei nicht eindeutige Kennungen in mehreren lokalen Netzwerken der Mehrzahl von lokalen Netzwerken der ersten und zweiten Kachel wiederverwendet werden.
  2. System nach Anspruch 1, wobei das Verschaltungsnetzwerk ein globales Netzwerk der ersten Kachel umfasst, wobei das globale Netzwerk globale Endpunkte der Mehrzahl von globalen Endpunkten mit lokalen Netzwerken der Mehrzahl von lokalen Netzwerken der ersten Kachel koppelt.
  3. System nach Anspruch 2, wobei das Verschaltungsnetzwerk eine Brücke umfasst, die mit dem globalen Netzwerk und einem ersten lokalen Netzwerk der Mehrzahl von lokalen Netzwerken gekoppelt ist, wobei die Brücke eine Kennung des ersten lokalen Netzwerks an Nachrichten anhängt, die vom ersten lokalen Netzwerk an das globale Netzwerk gesendet werden.
  4. System nach einem der Ansprüche 2 oder 3, wobei das Verschaltungsnetzwerk eine Brücke umfasst, die mit dem globalen Netzwerk und einem ersten lokalen Netzwerk der Mehrzahl von lokalen Netzwerken gekoppelt ist, wobei die Brücke eine Kennung des ersten lokalen Netzwerks aus Nachrichten löscht, die von dem globalen Netzwerk an das erste lokale Netzwerk gesendet werden.
  5. System nach einem der Ansprüche 2 bis 4, wobei das globale Netzwerk einen ersten globalen Router umfasst, der eine Mehrzahl von Routing-Tabellen umfasst, wobei das System ferner ein zweites globales Netzwerk der zweiten Kachel umfasst, wobei das zweite globale Netzwerk einen zweiten globalen Router umfasst, der die gleiche Mehrzahl von Routing-Tabellen umfasst.
  6. System nach Anspruch 5, wobei ein Konfigurationsparameter dazu dient, eine erste Routing-Tabelle der Mehrzahl von Routing-Tabellen des ersten globalen Routers zur Verwendung durch den ersten globalen Router auszuwählen.
  7. System nach einem der Ansprüche 2 bis 6, wobei eine erste Nachricht, die innerhalb eines lokalen Netzwerks der Mehrzahl von lokalen Netzwerken kommuniziert wird, basierend auf einer Adresse eines lokalen Headers der ersten Nachricht geroutet wird, und wobei eine zweite Nachricht, die innerhalb des globalen Netzwerks kommuniziert wird, basierend auf einer Adresse eines globalen Headers der zweiten Nachricht geroutet wird.
  8. System nach einem der Ansprüche 1 bis 7, wobei ein lokaler Endpunkt der Mehrzahl von lokalen Endpunkten mit mindestens einem anderen lokalen Endpunkt desselben lokalen Netzwerks und mit mindestens einem der globalen Endpunkte kommunizieren soll, aber nicht mit lokalen Endpunkten der anderen lokalen Netzwerke kommunizieren soll.
  9. System nach einem der Ansprüche 1 bis 8, wobei ein globaler Endpunkt der Mehrzahl von globalen Endpunkten mit mindestens einem der globalen Endpunkte und mindestens einem lokalen Endpunkt einer Mehrzahl unterschiedlicher lokaler Netzwerke kommunizieren soll.
  10. System nach einem der Ansprüche 1 bis 9, ferner umfassend mindestens eine zusätzliche Kachel, die jeweils eine zusätzliche Instanz der Mehrzahl von globalen Endpunkten umfasst, und eine zusätzliche Instanz der Mehrzahl von lokalen Netzwerken, die die Mehrzahl von lokalen Endpunkten umfasst.
  11. System nach einem der Ansprüche 1 bis 10, wobei die erste Kachel einen Prozessor umfasst.
  12. System nach Anspruch 11, ferner umfassend eine kommunikativ mit dem Prozessor gekoppelte Batterie, eine kommunikativ mit dem Prozessor gekoppelte Anzeige oder eine kommunikativ mit dem Prozessor gekoppelte Netzwerkschnittstelle.
  13. System nach einem der Ansprüche 1 bis 12, wobei das System ferner ein Halbleitergehäuse umfasst, das die erste Kachel und die zweite Kachel umfasst.
  14. Einrichtung, die Folgendes umfasst: eine erste Kachel, umfassend eine erste Instanz einer Mehrzahl von globalen Endpunkten und eine erste Instanz einer Mehrzahl von lokalen Netzwerken, die eine Mehrzahl von lokalen Endpunkten umfassen; und ein Verschaltungsnetzwerk der ersten Kachel zum Koppeln mit einem Verschaltungsnetzwerk einer zweiten Kachel, wobei die zweite Kachel eine zweite Instanz der Mehrzahl von globalen Endpunkten umfasst und eine zweite Instanz der Mehrzahl von lokalen Netzwerken die Mehrzahl von lokalen Endpunkten umfasst; wobei das Verschaltungsnetzwerk einen Adressraum nutzt, der Folgendes umfasst: eindeutige Kennungen für die Mehrzahl von globalen Endpunkten der ersten und zweiten Kachel; und nicht eindeutige Kennungen für die Mehrzahl von lokalen Endpunkten der ersten und zweiten Kachel, wobei nicht eindeutige Kennungen in mehreren lokalen Netzwerken der Mehrzahl von lokalen Netzwerken der ersten und zweiten Kachel wiederverwendet werden.
  15. Einrichtung nach Anspruch 14, wobei das Verschaltungsnetzwerk eine Brücke zum Empfangen einer Nachricht von einem ersten lokalen Endpunkt eines ersten lokalen Netzwerks der Mehrzahl von lokalen Netzwerken und Anhängen einer Kennung des ersten lokalen Netzwerks an die Nachricht, bevor die Nachricht an einen ersten globalen Endpunkt der Mehrzahl von globalen Endpunkten gesendet wird, umfasst.
  16. Einrichtung nach einem der Ansprüche 14 bis 15, wobei das Verschaltungsnetzwerk eine Brücke zum Empfangen einer Nachricht von einem ersten globalen Endpunkt der Mehrzahl von globalen Endpunkten und Löschen einer Kennung eines ersten lokalen Netzwerks aus der Nachricht, bevor die Nachricht an einen ersten lokalen Endpunkt des ersten lokalen Netzwerks gesendet wird, umfasst.
  17. Einrichtung nach einem der Ansprüche 14 bis 16, wobei ein lokaler Endpunkt der Mehrzahl von lokalen Endpunkten mit mindestens einem anderen lokalen Endpunkt desselben lokalen Netzwerks und mit mindestens einem der globalen Endpunkte kommunizieren soll, aber nicht mit lokalen Endpunkten der anderen lokalen Netzwerke kommunizieren soll.
  18. Verfahren, umfassend: Zuweisen eindeutiger Kennungen aus einem Adressraum eines Verschaltungsnetzwerks zu einer Mehrzahl von globalen Endpunkten einer ersten und zweiten Kachel, wobei die erste Kachel eine erste Instanz der Mehrzahl von globalen Endpunkten umfasst und eine erste Instanz einer Mehrzahl von lokalen Netzwerken eine Mehrzahl von lokalen Endpunkten umfasst, wobei die zweite Kachel eine zweite Instanz der Mehrzahl von globalen Endpunkten umfasst und eine zweite Instanz der Mehrzahl von lokalen Netzwerken die Mehrzahl von lokalen Endpunkten umfassen; und Zuweisen von nicht eindeutigen Kennungen aus dem Adressraum des Verschaltungsnetzwerks zu der Mehrzahl von lokalen Endpunkten, wobei nicht eindeutige Kennungen in mehreren lokalen Netzwerken der Mehrzahl von lokalen Netzwerke der ersten und zweiten Kachel wiederverwendet werden.
  19. Verfahren nach Anspruch 18, ferner umfassend das Konfigurieren eines Routers der ersten Kachel, um eine erste Routing-Tabelle zu nutzen, wobei der Router der ersten Kachel mehrere Routing-Tabellen umfasst.
  20. Verfahren nach Anspruch 19, ferner umfassend das Konfigurieren eines Routers der zweiten Kachel, um eine zweite Routing-Tabelle zu nutzen, wobei der Router der zweiten Kachel die Mehrzahl von Routing-Tabellen umfasst.
  21. Verfahren nach einem der Ansprüche 18 bis 20, wobei das Verschaltungsnetzwerk ein globales Netzwerk der ersten Kachel umfasst, wobei das globale Netzwerk globale Endpunkte der Mehrzahl von globalen Endpunkten mit lokalen Netzwerken der Mehrzahl von lokalen Netzwerken der ersten Kachel koppelt.
  22. Verfahren nach Anspruch 21, wobei das Verschaltungsnetzwerk eine Brücke umfasst, die mit dem globalen Netzwerk und einem ersten lokalen Netzwerk der Mehrzahl von lokalen Netzwerken gekoppelt ist, wobei die Brücke eine Kennung des ersten lokalen Netzwerks an Nachrichten anhängt, die vom ersten lokalen Netzwerk an das globale Netzwerk gesendet werden.
  23. Verfahren nach einem der Ansprüche 21 bis 22, wobei das Verschaltungsnetzwerk eine Brücke umfasst, die mit dem globalen Netzwerk und einem ersten lokalen Netzwerk der Mehrzahl von lokalen Netzwerken gekoppelt ist, wobei die Brücke eine Kennung des ersten lokalen Netzwerks aus Nachrichten löscht, die von dem globalen Netzwerk an das erste lokale Netzwerk gesendet werden.
  24. Verfahren nach einem der Ansprüche 21 bis 23, wobei das globale Netzwerk einen ersten globalen Router umfasst, der eine Mehrzahl von Routing-Tabellen umfasst, wobei das System ferner ein zweites globales Netzwerk der zweiten Kachel umfasst, wobei das zweite globale Netzwerk einen zweiten globalen Router umfasst, der die gleiche Mehrzahl von Routing-Tabellen umfasst.
  25. Verfahren nach einem der Ansprüche 18 bis 24, wobei ein lokaler Endpunkt der Mehrzahl von lokalen Endpunkten mit mindestens einem anderen lokalen Endpunkt desselben lokalen Netzwerks und mit mindestens einem der globalen Endpunkte kommunizieren soll, aber nicht mit lokalen Endpunkten der anderen lokalen Netzwerke kommunizieren soll.
DE102022131051.5A 2021-12-23 2022-11-23 Verschaltungsnetzwerk für mehrfachkachel-system-auf-chips Pending DE102022131051A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/561,121 2021-12-23
US17/561,121 US20220116322A1 (en) 2021-12-23 2021-12-23 Interconnect network for multi-tile system on chips

Publications (1)

Publication Number Publication Date
DE102022131051A1 true DE102022131051A1 (de) 2023-06-29

Family

ID=81078004

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102022131051.5A Pending DE102022131051A1 (de) 2021-12-23 2022-11-23 Verschaltungsnetzwerk für mehrfachkachel-system-auf-chips

Country Status (3)

Country Link
US (1) US20220116322A1 (de)
CN (1) CN116340248A (de)
DE (1) DE102022131051A1 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220400073A1 (en) * 2021-06-15 2022-12-15 Applied Materials, Inc. Router architecture for multi-dimensional topologies in on-chip and on-package networks
US11960439B2 (en) * 2022-03-09 2024-04-16 Intel Corporation Scalable MCTP infrastructure

Also Published As

Publication number Publication date
US20220116322A1 (en) 2022-04-14
CN116340248A (zh) 2023-06-27

Similar Documents

Publication Publication Date Title
DE102019009207B3 (de) Vorrichtungen, verfahren und nichttransitorisches computerlesbares speichermedien für dvsec für eine effiziente peripheriegeräteverwaltung
CN109891399B (zh) 在相同的物理串行总线集线器上产生多个虚拟串行总线集线器实例的装置和方法
DE112016002895T5 (de) Authentifizierung einer Mehrprotokollverbindung
KR101565357B1 (ko) 타임아웃을 처리하기 위한 시스템, 방법 및 장치
DE112016002913T5 (de) Dynamische Konfiguration von Verbindungsmodi an einem System basierend auf Hostgerätefähigkeiten
DE112016004300T5 (de) Verfahren, gerät und system zum zuweisen von cache unter verwendung einer verkehrsklasse
DE102022131051A1 (de) Verschaltungsnetzwerk für mehrfachkachel-system-auf-chips
DE112015003035T5 (de) Gemeinsame nutzung eines usb-stromzufuhr-controllers
DE112014006183T5 (de) Vorrichtung, Verfahren und System für einen Schnellkonfigurationsmechanismus
DE112016004332T5 (de) Verfahren, vorrichtungen und systeme zum taktversatzausgleich von datenverbindungaufteilungen
DE102019132213A1 (de) Adressenübersetzung für skalierbare verlinkte Vorrichtungen
US20210311895A1 (en) Disaggregation of computing devices using enhanced retimers with circuit switching
US20200004721A1 (en) Core mapping
DE102020123484A1 (de) Programmierbare Datenbusinversion und konfigurierbare Implementierung
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
EP4141680A1 (de) Debug-datenkommunikationssystem für mehrere chips
EP4109281B1 (de) Teilen von peer-to-peer-verknüpfung für uplink-kommunikation von xpus zu einem host-prozessor
DE102019120357A1 (de) Dynamische asymmetrische kommunikationspfadzuteilung
DE102022129397A1 (de) Beschleuniger-fabric für diskrete grafik
DE112017004891T5 (de) Multidimensionale Optimierung von elektrischen Parametern zum Trainieren eines Speichers
NL2029396B1 (en) Disaggregation of computing devices using enhanced retimers with circuit switching
US20220200780A1 (en) Active state power optimization for high-speed serial input/output interfaces
DE102020102841A1 (de) Vorabrufen von schreibberechtigungen in einen adressübersetzungs-cache
DE102022134451A1 (de) Verlustarmer wellenleiter mit unterschnitt