DE112020003941T5 - Rekonfigurierbare interconnect-einrichtung mit niedrigem overhead und hoher bandbreite und verfahren dafür - Google Patents

Rekonfigurierbare interconnect-einrichtung mit niedrigem overhead und hoher bandbreite und verfahren dafür Download PDF

Info

Publication number
DE112020003941T5
DE112020003941T5 DE112020003941.2T DE112020003941T DE112020003941T5 DE 112020003941 T5 DE112020003941 T5 DE 112020003941T5 DE 112020003941 T DE112020003941 T DE 112020003941T DE 112020003941 T5 DE112020003941 T5 DE 112020003941T5
Authority
DE
Germany
Prior art keywords
mode
arbiter
interconnects
pair
arbiters
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
DE112020003941.2T
Other languages
English (en)
Inventor
Huichu Liu
Tanay Karnik
Tejpal Singh
Yen-Cheng Liu
Lavanya Subramanian
Mahesh Kumashikar
Sri Harsha Choday
Sreenivas Subramoney
Kaushik Vaidyanathan
Daniel H. Morris
Uygar E. Avci
Ian A. Young
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 DE112020003941T5 publication Critical patent/DE112020003941T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0804Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3278Power saving in modem or I/O interface
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2089Redundant storage control functionality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • G06F13/4072Drivers or receivers
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

Es wird ein Verfahren und eine Einrichtung mit niedrigem Overhead beschrieben, um ein Paar gepufferter Interconnect-Links so zu rekonfigurieren, dass sie in einem dieser drei Modi arbeiten - erster Modus (z. B. Bandbreitenmodus), zweiter Modus (z. B. Latenzmodus) und dritter Modus (z. B. Energiemodus). Im Bandbreitenmodus führt jeder Link in dem Paar gepufferter Interconnect-Links ein eindeutiges Signal von Quelle zu Ziel. Im Latenzmodus führen beide Links in dem Paar das gleiche Signal von Quelle zu Ziel, wobei ein Link in dem Paar „primär“ ist und ein anderer als „Assist“ bezeichnet wird. Eine zeitliche Ausrichtung von Übergängen in diesem Paar von gepufferten Interconnects reduziert die effektive Kapazität des Primärlinks, wodurch eine Verzögerung oder Latenz reduziert wird. Im Energiemodus führt ein Link in dem Paar, der primäre, allein ein Signal, während der andere Link in dem Paar inaktiv ist. Ein inaktiver Nachbar auf einer Seite reduziert den Energieverbrauch des Primärlinks.

Description

  • PRIORITÄTSANSPRUCH
  • Diese Anmeldung beansprucht die Priorität der US-Patentanmeldung Nr. 16/576,687 , eingereicht am 19. September 2019, mit dem Titel „LOW OVERHEAD, HIGH BANDWIDTH RE-CONFIGURABLE INTERCONNECT APPARATUS AND METHOD“, die durch Bezugnahme in ihrer Gesamtheit für alle Zwecke aufgenommen wird.
  • HINTERGRUND
  • Heutzutage ist ein einziges Produktdesign erforderlich, um bei unterschiedlichen Versorgungsspannungen zu arbeiten. Beispielsweise ist derselbe Prozessor dazu ausgelegt, bei einer Hochspannungsversorgung (z. B. 1,2 V) und einer Niederspannungsversorgung (z. B. 0,5 V) zu arbeiten. Die Versorgungsspannung (oder der Versorgungsspannungsbereich) kann gemäß den Leistungsfähigkeits- und Leistungsanforderungen eines Marktsegments (z. B. Tablet, Laptop, Desktop usw.) ausgewählt und fixiert werden. Zum Beispiel kann ein Prozessor in dem Desktop-Marktsegment bei einer höheren Spannung arbeiten, was eine höhere Frequenz und Verarbeitungsgeschwindigkeit bereitstellt (z. B. höhere Leistungsfähigkeit), während derselbe Prozessor in einem Tablet- oder Laptop-Marktsegment bei einer niedrigeren Spannung und bei einer niedrigeren Frequenz und niedrigeren Verarbeitungsgeschwindigkeiten arbeiten kann. In den meisten Fällen muss ein Prozessor möglicherweise einen Bereich von der minimalen Betriebsspannung (VMIN) bis zu einer maximalen Betriebsspannung (VMAX) unterstützen. Außerdem kann die Spannung während des Betriebs (z. B. Niedrigleistungsmodus, Normalmodus, Turbomodus usw.) dynamisch angepasst werden.
  • Für große heterogene Plattformen sind Network-on-Chips (NoCs) mit niedriger Latenz, niedriger Energie und hoher Bandbreite entscheidend, um die Leistungsfähigkeits-CAGR (CAGR: Compound Annual Growth Rate - jährliche Wachstumsrate) innerhalb einer Leistungshüllkurve zu halten. Trotz sorgfältigem Design fällt es NoC-Fabrics (RING oder MESH oder anderen Topologien) schwer, konkurrierende Anforderungen an Latenz, Bandbreite und Energie zu erfüllen, die häufig gegeneinander abgewogen werden müssen. Insbesondere sind Latenz, Bandbreite und Energie von NoC-Fabrics häufig durch lange wiederholte/gepufferte Drähte/Interconnects beschränkt. Latenz, Bandbreite und Energie von NoC-Fabrics sind zum Beispiel im Gegenzug durch das gepufferte Interconnect begrenzt, das zwei MESH-Stops oder RING-Stops verbindet. Gepufferte Interconnects bilden zum Beispiel einen Bus von tausenden von Drähten und überspannen typischerweise mehrere Millimeter über den Chip hinweg und durchlaufen DVFS (dynamic voltage and frequency scaling - dynamische Spannungs- und Frequenzskalierung), um die hohe Leistungsfähigkeit unter einer Leistungshüllkurve zu erreichen. Gepufferte Interconnects werden durch sorgfältiges Auswählen von Inter-Repeater-Abständen, Puffergrößen, Drahtschicht, Drahtbreiten, Drahtbeabstandung usw. optimiert. Technologieskalierung und ein großer Betriebsbereich verschärfen diese Herausforderung weiter.
  • Figurenliste
  • Die Ausführungsformen der Offenbarung werden anhand der unten gegebenen ausführlichen Beschreibung und aus den begleitenden Zeichnungen verschiedenster Ausführungsformen der Offenbarung umfassender verstanden werden, die jedoch nicht als die Offenbarung auf die spezifischen Ausführungsformen beschränkend aufgefasst werden sollten, sondern lediglich zur Erläuterung und zum Verständnis dienen.
    • 1A veranschaulicht ein rekonfigurierbares Interconnect in einem Hochgeschwindigkeitsmodus.
    • 1B veranschaulicht ein rekonfigurierbares Interconnect in einem Niederenergiemodus.
    • 2 veranschaulicht ein Network-on-Chip (NoC), das ein 3x3-MESH mit rekonfigurierbarem Interconnect umfasst, gemäß manchen Ausführungsformen.
    • 3 veranschaulicht ein Basislinien-Design mit wiederholtem Bus-Interconnect.
    • 4 veranschaulicht ein trimodales rekonfigurierbares Interconnect gemäß manchen Ausführungsformen.
    • 5 veranschaulicht ein trimodales rekonfigurierbares Interconnect im Bandbreitenmodus gemäß manchen Ausführungsformen.
    • 6 veranschaulicht ein trimodales rekonfigurierbares Interconnect im Latenzmodus gemäß manchen Ausführungsformen.
    • 7 veranschaulicht ein trimodales rekonfigurierbares Interconnect im Energiemodus gemäß manchen Ausführungsformen.
    • 8A-B veranschaulichen grafische Darstellungen, die einen Bandbreitenmodus bzw. Latenzmodus zeigen, gemäß manchen Ausführungsformen.
    • 9A-B veranschaulichen grafische Darstellungen, die einen Bandbreitenmodus bzw. Latenzmodus zeigen, gemäß manchen Ausführungsformen.
    • 10 veranschaulicht ein trimodales rekonfigurierbares Interconnect mit 3-fach wiederholten Drähten gemäß manchen Ausführungsformen.
    • 11 veranschaulicht ein SOC oder NoC mit trimodalem rekonfigurierbarem Interconnect gemäß manchen Ausführungsformen.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Die Leistungs- und Leistungsfähigkeitseffekte eines resistiven Interconnects hängen stark von der Versorgungsspannung ab. Von daher sind die Designs, die am besten bei niedrigen Spannungen arbeiten, weniger effizient bei hohen Spannungen und umgekehrt. Das Anwenden eines Designs für unterschiedliche Marktsegmente und Leistungsmodi liefert Design- und Herstellungseffizienz, beeinträchtigt aber Leistungsfähigkeit und Energie. Dieser Kompromiss kann schwerwiegender werden, wenn der Interconnect-Widerstand mit der Skalierung zunimmt.
  • Gegenwärtige Lösungen zum Gestalten von Logik oder Prozessoren mit resistivem Interconnect sind auf zwei nicht optimale Verfahren beschränkt. Bei dem ersten Verfahren wird das Design der integrierten Schaltung (IC) bei einem gegebenen Leistungsfähigkeitspunkt (z. B. hohe Leistungsfähigkeit oder niedrige Leistung) optimiert. In diesem Fall wird das andere Leistungsfähigkeitszielprodukt signifikant leiden und bei suboptimaler Leistung-Leistungsfähigkeit arbeiten. Zum Beispiel kann ein IC-Design, das zum Arbeiten mit hoher Leistungsfähigkeit (z. B. hoher Frequenz) optimiert ist, zu einer suboptimalen Leistungseffizienz für ein Produkt führen, das bei einer niedrigen Spannung und Frequenz betrieben wird, da mehr Leistung verbraucht werden würde als das Minimum, das tatsächlich zum Arbeiten mit niedrigerer Leistungsfähigkeit benötigt werden würde.
  • Manche Ausführungsformen stellen ein Verfahren und eine Einrichtung mit niedrigem Overhead bereit, um ein Paar gepufferter Interconnect-Links so zu rekonfigurieren, dass sie in einem dieser drei Modi arbeiten - erster Modus (z. B. Bandbreitenmodus), zweiter Modus (z. B. Latenzmodus) und dritter Modus (z. B. Energiemodus). Im Bandbreitenmodus führt jeder Link in dem Paar gepufferter Interconnect-Links ein eindeutiges Signal von Quelle zu Ziel. Im Latenzmodus führen beide Links in dem Paar das gleiche Signal von Quelle zu Ziel, wobei ein Link in dem Paar „primär“ ist und ein anderer als „Assist“ bezeichnet wird. Eine zeitliche Ausrichtung von Übergängen in diesem Paar von gepufferten Interconnects reduziert die effektive Kapazität des Primärlinks, wodurch eine Verzögerung oder Latenz reduziert wird. Im Energiemodus führt ein Link in dem Paar, der primäre, allein ein Signal, während der andere Link in dem Paar inaktiv ist. Ein inaktiver Nachbar auf einer Seite reduziert den Energieverbrauch des Primärlinks. Diese Interconnects sind Teil eines MESH- oder RING-Netzwerks (z. B. in Network-on-Chip (NOC)). In einigen Ausführungsformen arbeiten Arbiter-Schaltungen (z. B. MESH-Stop und RING-Stop) koordiniert mit einer Master-Fabric-Steuerung (z. B. in einer Leistungsverwaltungseinheit), um die gepufferten Interconnect-Links dynamisch an Arbeitslastbedürfnisse anzupassen.
  • Es gibt viele technische Auswirkungen verschiedener Ausführungsformen. Das rekonfigurierbare Interconnect ermöglicht zum Beispiel eine On-the-Fly-Rekonfiguration von Fabric-Latenz, -Bandbreite und -Energie. Obwohl Verzögerung und Energie mit dynamischer Spannungsfrequenzskalierung abgestimmt werden können, stellt dieses rekonfigurierbare Interconnect einen leistungsfähigen und zuverlässigen Regler bereit, um Verzögerung (z. B. Latenz), Energie und Bandbreite abzustimmen. Dieses rekonfigurierbare Interconnect ermöglicht diese Vorteile ohne zusätzliche Verdrahtung oder irgendwelche neuen Prozessverbesserungen oder aufwändige angepasste Schaltungsanordnungen. Das rekonfigurierbare Interconnect stellt potenzielle Chip-Designs bereit, um physische(s) gepufferte(s) Interconnect-Link-Design/-Optimierung zu vereinheitlichen, da dasselbe zugrundeliegende Paar physischer Links gesteuert und in unterschiedlichen Modi betrieben werden kann, um einen Bereich von Latenz-, Bandbreiten- und Energiezielen zu erreichen. Zum Beispiel erhält die NoC-/Fabric-Interconnect-Konfiguration Inter-Kern-Kommunikation (die Prozessorkern-zu-Lower-Level-Cache(LLC)-Kommunikation beinhaltet), Kommunikation des Kerns mit dem Hauptspeicher, Kommunikation des Kerns mit E/A aufrecht, was bedeutet, dass ein Fabric mit niedrigerer Latenz und höherer Bandbreite von dem rekonfigurierbaren Interconnect eine merkliche Verbesserung der Leistung-Leistungsfähigkeit für eine Vielzahl von Arbeitslasten ermöglicht. Andere technische Auswirkungen werden anhand der verschiedenen Ausführungsformen und Figuren ersichtlich.
  • In der folgenden Beschreibung werden zahlreiche Einzelheiten besprochen, um eine tiefgehende Erläuterung von Ausführungsformen der vorliegenden Offenbarung zu liefern. Für den Fachmann ist allerdings ersichtlich, dass Ausführungsformen der vorliegenden Offenbarung ohne diese spezifischen Einzelheiten ausgeübt werden können. In anderen Fällen sind wohlbekannte Strukturen und Vorrichtungen in Blockdiagrammform statt detailliert gezeigt, um zu vermeiden, dass Ausführungsformen der vorliegenden Offenbarung unklar gemacht werden.
  • Es ist anzumerken, dass Signale in den entsprechenden Zeichnungen der Ausführungsformen durch Linien repräsentiert sind. Manche Linien können dicker sein, um mehr Bestandteilssignalpfade anzugeben, und/oder Pfeile an einem oder mehreren Enden aufweisen, um eine primäre Informationsflussrichtung anzugeben. Derartige Angaben sollen nicht einschränkend sein. Vielmehr werden die Linien in Verbindung mit einem oder mehreren Ausführungsbeispielen verwendet, um ein einfacheres Verständnis einer Schaltung oder einer Logikeinheit zu ermöglichen. Jegliches repräsentierte Signal, wie durch Designvorgaben oder -präferenzen vorgegeben, kann tatsächlich ein oder mehrere Signale umfassen, die in jeder Richtung laufen können und mit einer beliebigen geeigneten Art von Signalschema implementiert werden können.
  • In der Spezifikation und in den Ansprüchen bedeutet der Ausdruck „verbunden“ durchweg eine direkte Verbindung, wie etwa eine elektrische, mechanische oder magnetische Verbindung, zwischen den Dingen, die verbunden sind, ohne irgendwelche dazwischengeschaltete Vorrichtungen. Der Begriff „gekoppelt“ bedeutet eine direkte oder indirekte Verbindung, wie etwa eine direkte elektrische, mechanische oder magnetische Verbindung zwischen den Dingen, die verbunden sind, oder eine indirekte Verbindung über eine oder mehrere passive oder aktive zwischengeschaltete Vorrichtungen.
  • Der Begriff „Schaltung“ oder „Modul“ kann sich auf eine oder mehrere passive und/oder aktive Komponenten beziehen, die zum gegenseitigen Zusammenwirken eingerichtet sind, um eine gewünschte Funktion zu liefern. Der Begriff „Signal“ kann sich auf wenigstens ein Stromsignal, Spannungssignal, magnetisches Signal oder Daten-/Taktsignal beziehen. Die Bedeutung von „ein“, „eine“ und „der/die/das“ schließen Pluralreferenzen ein. Die Bedeutung von „in“ schließt „in“ und „auf“ ein.
  • Der Begriff „Skalieren“ bezieht sich im Allgemeinen auf das Umwandeln eines Designs (Schaltbild oder Layout) von einer Prozesstechnologie zu einer anderen Prozesstechnologie und anschließendes Reduzieren der Layoutfläche. Der Ausdruck „Skalieren“ bezieht sich im Allgemeinen auch auf das Verkleinern des Layouts und von Vorrichtungen innerhalb desselben Technologieknotens. Der Begriff „Skalieren“ kann sich auch auf das Anpassen (z. B. Verlangsamen oder Beschleunigen - d. h. Abwärtsskalieren bzw. Aufwärtsskalieren) einer Signalfrequenz in Bezug auf einen anderen Parameter, zum Beispiel den Leistungsversorgungspegel, beziehen. Der Begriff „Skalieren“ kann sich auch auf das Anpassen der Größe der Leistungsversorgungsspannung (z. B. Spannungsskalierung) an die Schaltung(en) beziehen.
  • Die Begriffe „im Wesentlichen“, „nahe“, „ungefähr“, „in der Nähe von“ und „etwa“ beziehen sich allgemein auf einen Bereich innerhalb von +/- 10 % eines Zielwerts. Sofern nicht anders spezifiziert, gibt die Verwendung der Ordnungsadjektive „erste/r/s“, „zweite/r/s“ und „dritte/r/s“ usw. zum Beschreiben eines gemeinsamen Objekts lediglich an, dass sich auf unterschiedliche Instanzen von gleichen Objekten bezogen wird, und es ist nicht beabsichtigt, zu implizieren, dass die so beschriebenen Objekte in einer gegebenen Sequenz sein müssen, weder zeitlich, räumlich, in der Rangfolge noch auf eine beliebige andere Art und Weise.
  • Es versteht sich, dass die so verwendeten Begriffe unter geeigneten Umständen austauschbar sind, sodass die hierin beschriebenen Ausführungsformen der Erfindung beispielsweise in anderen Orientierungen als den hierin veranschaulichten oder anderweitig beschriebenen betrieben werden können.
  • Für die Zwecke der vorliegenden Offenbarung bedeuten die Formulierungen „A und/oder B“ und „A oder B“ (A), (B) oder (A und B). Für die Zwecke der vorliegenden Offenbarung bedeutet die Formulierung „A, B und/oder C“ (A), (B), (C), (A und B), (A und C), (B und C) oder (A, B und C). Die Begriffe „links“, „rechts“, „vorn“, „hinten“, „oben“, „unten“, „über“, „unter“ und dergleichen in der Beschreibung und in den Ansprüchen, falls vorhanden, werden zu beschreibenden Zwecken verwendet und nicht notwendigerweise zum Beschreiben permanenter relativer Positionen.
  • Für Zwecke der Ausführungsformen können die Transistoren in verschiedenen Schaltungen, Modulen und Logikblöcken Tunnel-FETs (TFETs) sein oder einige Transistoren verschiedener Ausführungsformen können Metalloxidhalbleiter(MOS)-Transistoren umfassen, die Drain-, Source-, Gate- und Bulk-Anschlüsse beinhalten. Die Transistoren können auch Tri-Gate- und FinFET-Transistoren, Gate-All-Around-Cylindrical-Transistoren, Vierkantdraht oder Rechteckband-Transistoren oder andere Vorrichtungen beinhalten, die Transistorfunktionalität umsetzen, wie Kohlenstoff-Nanoröhren oder Spintronik-Vorrichtungen. Symmetrische MOSFET-Source- und -Drain-Anschlüsse sind identische Anschlüsse und werden hier austauschbar verwendet. Andererseits weist eine TFET-Vorrichtung asymmetrische Source- und Drain-Anschlüsse auf. Fachleute erkennen, dass andere Transistoren, beispielsweise Bipolar-Transistoren - BJT-PNP/NPN, BiCMOS, CMOS usw. - für manche Transistoren verwendet werden können, ohne vom Schutzumfang der Offenbarung abzuweichen.
  • Wenn die Leistungsversorgungsspannung (VDD) für Prozessoren oder Logik zunimmt, wird ein gepuffertes Interconnect durch den Draht stärker begrenzt als die Vorrichtung (da die Vorrichtungsverzögerung mit VDD abnimmt und die Drahtverzögerung hingegen nicht). Um gleichzeitig eine geringere Verzögerung bei hoher VDD und eine geringere Leistung bei niedriger VDD zu ermöglichen, kann ein rekonfigurierbares Interconnect verwendet werden. In einem typischen rekonfigurierbaren Interconnect erhält jedes gepufferte Interconnect ein anderes identisches gepuffertes Interconnect (Treiber und Drähte) als einen „Assist“. Ein rekonfigurierbares Interconnect arbeitet in zwei Modi: Hochgeschwindigkeitsmodus und Niederenergiemodus, wie in den 1A-B gezeigt.
  • 1A veranschaulicht eine rekonfigurierbare Interconnect-Architektur 100 in einem Hochgeschwindigkeitsmodus. 1B veranschaulicht eine rekonfigurierbare Interconnect-Architektur 120 in einem Niederenergiemodus. Die Architektur 100 veranschaulicht Drähte 101a, 101b, 101c und 101d; Treiber (Inverter) 102a, 102b, 102c und 102d; und Empfänger (Inverter) 103a, 103b, 103c und 103d. Der rekonfigurierbare Teil des Interconnects empfängt einen Eingang „Ein“ und stellt einen Ausgang „Aus“ bereit. Der rekonfigurierbare Teil des Interconnects besteht aus Treibern 102a und 102b, Drähten 101b und 101c und Empfängern 103a und 103b, wobei der Treiber 102b ein Tri-State-Treiber (durch ein Aktivierungssignal gesteuert) ist und wobei der Empfänger 103b ein Tri-State-Empfänger ist, der durch das Aktivierungssignal steuerbar ist.
  • Hier ist die Kapazität Cab die Koppelkapazität zwischen den Drähten 101a und 101b, ist die Kapazität Cbc die Koppelkapazität zwischen den Drähten 101b und 101c und ist die Kapazität Ccd die Koppelkapazität zwischen den Drähten 101c und 101d. Im Hochgeschwindigkeitsmodus, wie durch 1A veranschaulicht, reduziert eine zeitliche Ausrichtung von Übergängen in dem Primär-Interconnect 101b und dem Assist-Interconnect 101c die effektive Kreuzkoppelkapazität zwischen dem Primär-Interconnect 101b und dem Assist 101c, wodurch Verzögerung und Energie von dem Eingang Ein zu dem Ausgang Aus reduziert werden. Im Niederenergiemodus, wie durch 1B veranschaulicht, befindet sich das gepufferte Assist-Interconnect im Tri-State und ist inaktiv, was zu einer Energieeinsparung führt.
  • Das rekonfigurierbare Interconnect der 1A-B ist nur in Szenarien wirksam, in denen Verdrahtungsressourcen nicht eingeschränkt sind. Ferner verbrauchen die Tri-State-Inverter 102b und 103b in den Assist-Pfaden Siliziumfläche. Zum Beispiel reduziert die Hochgeschwindigkeitsmoduskonfiguration von 1A eine Verzögerung, indem die effektive Drahtkapazität des Primär-Interconnects 101b reduziert wird, da Übergänge in dem Primär-Interconnect 101b und dem Assist-Interconnect 101c zeitlich ausgerichtet sind, wodurch die Kreuzkoppelkapazität Cbc zwischen ihnen reduziert oder eliminiert wird. In der Niederenergiemoduskonfiguration von 1B ist das Assist-Interconnect 101c deaktiviert, wodurch dynamische Leistung reduziert wird. Die rekonfigurierbaren Interconnect-Architekturen 100/120 erfordern jedoch eine zusätzliche Verdrahtungsspur für den Assist-Draht 101c.
  • 2 veranschaulicht eine Network-on-Chip(NoC)-Architektur, die ein 3x3-MESH mit rekonfigurierbarem Interconnect umfasst, gemäß manchen Ausführungsformen. Die NOC-Architektur 200 umfasst eine Leistungsverwaltungseinheit (PMU) 201 und das MESH-Netzwerk umfasst Router, Knoten und/oder Arbiter 202. In diesem Beispiel ist ein 3x3-MESH-Netzwerk gezeigt, das Router, Knoten und/oder Arbiter 2021,1 bis 2023,3 umfasst. Jeder Router, Knoten und/oder Arbiter weist eine Schnittstelle zum Empfangen einer Modussteuerung 203 und eine Schnittstelle (z. B. Treiber und Empfänger) zum Koppeln mit dem Verkehrs-Interconnect 204 auf. In manchen Ausführungsformen sind die gepufferten Interconnects 204 typischerweise reguläre Inverter-Pfade, keine Tri-State-Inverter in dem Assist-Pfad und, per Erweiterung, keine Steuersignale für Tri-State-Inverter werden benötigt. Von daher ist die Technik verschiedener Ausführungsformen mit statischer Timing-Analyse kompatibel und leicht verwendbar.
  • In einigen Ausführungsformen wird der Betriebsmodus für gepufferte Interconnects durch die Master-Fabric-Steuerung (oder Leistungsverwaltungseinheit 201) bestimmt, die dieselbe Einheit sein kann, die auch DVFS steuert. In einigen Ausführungsformen überträgt die Steuerung 201 den Betriebsmodus zu jedem MESH-STOP oder RING-STOP. Hier sind MESH-STOP oder RING-STOP die Router, Knoten und/oder Arbiter 202. Daher bestimmen und steuern MESH-STOPs und RING-STOPs Signale zu den Eingängen eines Paares von gepufferten Interconnects an (in Abhängigkeit von dem Betriebsmodus). Zum Beispiel wird basierend auf dem Betriebsmodus ein Paar gepufferter Interconnects zweckmäßig mit eindeutigen Signalen (Bandbreitenmodus) oder gleichen Signalen (Latenzmodus) angesteuert oder das Assist wird nicht angesteuert (Energiemodus). In einigen Ausführungsformen verwendet die PMU 201 Betriebssystem(OS)-Hinweise und/oder On-Chip-Leistungsfähigkeitszähler, um den Betriebsmodus des Interconnect-Fabric dynamisch zu bestimmen.
  • Zum Beispiel gibt das OS für latenzkritische Arbeitslasten, die latenzkritisch sind, einen Latenzmodus an die PMU 201 aus, die die Arbiter so konfiguriert, dass sie sich im Latenzmodus befinden, um die Verzögerungen im NOC zu reduzieren, sodass die Frequenzanforderung erfüllt wird. Für nicht latenzkritische Arbeitslasten ermöglicht das OS, dass die PMU 201 DVFS durchführt, die sowohl Versorgungsspannung als auch Frequenz reduziert, um Energie zu sparen, und die PMU konfiguriert Arbiter so, dass sie sich in einem Energiemodus befinden, der den Energieverbrauch des NOC reduziert. Für Arbeitslasten, die eine hohe Bandbreite erfordern, die nicht durch Erhöhen der Betriebsfrequenz durch DVFS unterstützt werden konnte (z. B. Datenbewegung, Speicherzugriff usw.), kann die PMU 201 die Arbiter so konfigurieren, dass sie sich in einem Bandbreitenmodus befinden, der die verfügbaren Interconnects zum Kommunizieren nutzt.
  • Bei einem traditionellen rekonfigurierbaren Interconnect, wie etwa dem in den 1A-B, ist die Leistungsfähigkeit-Leistung-Abstimmung des gepufferten Interconnects typischerweise auf Puffer- und Drahtoptimierungen beschränkt. In manchen Ausführungsformen kann MESH-STOP auch die Verzögerung und Energie des gepufferten Interconnects durch Steuern des Betriebsmodus beeinflussen. Dies stellt einen Regler für Mikroarchitekten und Architekten bereit, um grundlegende Fabric-Parameter abzustimmen.
  • Im Vergleich zu anderen Logiksteuerungen kann die Master-Fabric-Steuerung, wie etwa die PMU 201, besser auf Bandbreiten- oder Latenzbedürfnisse reagieren, indem sie die MESH-Stops und im Gegenzug die Betriebsmodi für gepufferte Interconnect-Links steuert. Dies stellt einen zusätzlichen Freiheitsgrad jenseits von Betriebs-VDD und Frequenz (mit DVFS) bereit.
  • 3 veranschaulicht ein Basislinien-Design 300 mit wiederholtem Bus-Interconnect. Das Basislinien-Design 300 veranschaulicht ein Beispiel für Interconnects zwischen zwei möglichen MESH- oder RING-Stops. In diesem Beispiel sind die MESH- oder RING-Stops Router (Knoten oder Arbiter) 3021,1 und 3021,2. Zwei Signalpfade (oder Verkehrs-Interconnects) 304 sind gezeigt. Der erste Signalpfad beginnt vom Eingang Ein1 und endet am Ausgang Aus1. Der zweite Signalpfad beginnt vom Eingang Ein2 und endet am Ausgang Aus2. Jeder Signalpfad ist ein wiederholtes Bus-Interconnect mit optimiertem Inter-Repeater-Abstand, optimierter Repeater-Größe, optimierter Drahtschicht, optimierter Breite und optimiertem Drahtzwischenraum. In diesem Beispiel sind Repeater 304a als Inverter (die auch als nicht invertierende Puffer implementiert sein können) und Drähte 304b gezeigt. Passive Abschirmungen werden verwendet, um eine Miller-Koppelkapazität zwischen benachbarten Drähten zu reduzieren. In diesem Beispiel sind die passiven Abschirmungen Leistungsversorgungs(Vcc)- oder Masse(Vss)-Interconnects. Das Laufen von Signalen in entgegengesetzten Richtungen reduziert auch die Miller-Koppelkapazität. In diesem Beispiel propagiert das Signal Ein1 von rechts nach links, während das Signal Ein2 von links nach rechts propagiert.
  • 4 veranschaulicht ein trimodales rekonfigurierbares Interconnect 400 gemäß manchen Ausführungsformen. In diesem Beispiel sind 2-fach wiederholte Drähte gezeigt, die ein Bündel von Signalpfaden bilden, die durch Vcc- oder Vss-Interconnects abgeschirmt sind. Der erste Signalpfad beginnt vom Eingang Ein1 und endet am Ausgang Aus 1. Der zweite Signalpfad beginnt vom Eingang Ein2 und endet am Ausgang Aus2. Der dritte Signalpfad beginnt vom Eingang Ein3 und endet am Ausgang Aus4. Der vierte Signalpfad beginnt vom Eingang Ein4 und endet am Ausgang Aus4. Der zweite und vierte Signalpfad propagieren Signal(e) vom Arbiter 3011,1 zum Arbiter 3021,2, während der erste und dritte Signalpfad Signal(e) vom Arbiter 3011,2 zum Arbiter 3021,1 propagieren. Obwohl die Ausführungsformen Signalpfade zwischen dem Arbiter 3011,1 und dem Arbiter 3021,2 veranschaulichen, sind die Ausführungsformen auf eine Signalübertragung zwischen beliebigen MESH- oder RING-Stops anwendbar. In verschiedenen Ausführungsformen bestimmt der Arbiter 3011,1 die Eingangssignale, die Ein3 und Ein4 ansteuern, wodurch der Betriebsmodus - Bandbreitenmodus, Latenzmodus und Energiemodus - eingerichtet wird. Tabelle 1 fasst die Modi zusammen. Tabelle 1
    Modus EIN1 EIN2 EIN3 EIN4 Anzahl eindeutiger Signale
    Bandbreite EIN1 EIN2 EIN3 EIN4 4
    Latenz EIN1 EIN2 EIN1 EIN2 2
    Energie EIN1 EIN2 NICHT ANGESTEUERT NICHT ANGESTEUERT 2
  • In manchen Ausführungsformen erzeugt eine Steuerung (z. B. PMU 201 oder eine beliebige andere Netzwerksteuerung) ein Modussignal 203. Dieses Modussignal 203 ist ein Mehrbitsignal, das einen Betriebsmodus für erste und zweite von zwei oder mehr Interconnects angibt. Beispielsweise setzt das Modussignal 203 den Betriebsmodus der Signalpfade Ein1-zu-Aus1, Ein3-zu-Aus3, Ein2-zu-Aus2 und Ein4-zu-Aus4, wobei die Signalpfade Ein1-zu-Aus1 und Ein3-zu-Aus3 Teil der ersten zwei oder mehr Interconnects sind und wobei die Signalpfade Ein2-zu-Aus2 und Ein4-zu-Aus4 Teil der zweiten zwei oder mehr Interconnects sind. In verschiedenen Ausführungsformen ist die Propagationsverzögerung der Signalpfade in einer bestimmten Richtung identisch (oder im Wesentlichen gleich). Zum Beispiel weisen die Signalpfade Ein2-zu-Aus2 und Ein4-zu-Aus4 die gleiche (oder im Wesentlichen die gleiche) Propagationsverzögerung auf, während die Signalpfade Ein1-zu-Aus1 und Ein3-zu-Aus3 die gleiche (oder im Wesentlichen die gleiche) Propagationsverzögerung aufweisen.
  • Der Betriebsmodus kann ein erster Modus, ein zweiter Modus oder ein dritter Modus sein. Verschiedene Ausführungsformen sind unter Bezugnahme darauf beschrieben, dass das Modussignal ein 2-Bit-Signal ist, wobei der erste Modus der Bandbreitenmodus ist, der zweite Modus der Latenzmodus ist und der dritte Modus der Energiemodus ist. Ausführungsformen sind jedoch nicht auf diese Modi beschränkt. Die Arbiter 402 (z. B. 4021,1 und 4021,2) können dazu ausgelegt sein, mehr Modi als drei Modi zu implementieren. In einer solchen Ausführungsform sind mehr Signalpfade zwischen Arbitern bereitgestellt und die Bitgröße des Modussteuersignals 203 kann größer als zwei Bits sein.
  • Der erste Arbiter 4021,2 ist kommunikativ mit der Steuerung 201 gekoppelt. Zum Beispiel wird die Modussteuerung 203 dem ersten Arbiter 4021,2 bereitgestellt, und somit wird eine kommunikative Kopplung erreicht. In manchen Ausführungsformen soll der erste Arbiter 4021,2 die ersten von zwei oder mehr Interconnects (z. B. Ein1-zu-Aus1 und Ein3-zu-Aus3) so konfigurieren, dass sie sich in einem des ersten, zweiten oder dritten Modus befinden. Zum Beispiel setzt der erste Arbiter 4021,2 in Abhängigkeit von dem Bitwert des Modussteuersignals 203 die Eingänge Ein1- und Ein3-Knoten so, dass sie unabhängig sind, um eindeutige Signale durch ihre jeweiligen Signalpfade zu übertragen, kurzgeschlossen sind, um das gleiche Signal durch ihre jeweiligen Signalpfade zu übertragen, oder einer von ihnen elektrisch geöffnet ist, um zu bewirken, dass nur ein Signalpfad aktiv ist.
  • In einigen Ausführungsformen ist der zweite Arbiter 4021,1 kommunikativ mit der Steuerung 201 gekoppelt, ebenso wie der erste Arbiter 4021,2 kommunikativ mit der Steuerung 201 gekoppelt ist. In manchen Ausführungsformen soll der zweite Arbiter 4021,1 die zweiten von zwei oder mehr Interconnects (z. B. Ein2-zu-Aus2 und Ein4-zu-Aus4) so konfigurieren, dass sie sich in einem des ersten, zweiten oder dritten Modus befinden. Zum Beispiel setzt der zweite Arbiter 4021,1 in Abhängigkeit von dem Bitwert des Modussteuersignals 203 die Eingänge Ein2- und Ein4-Knoten so, dass sie unabhängig sind, um eindeutige Signale durch ihre jeweiligen Signalpfade zu übertragen, kurzgeschlossen sind, um das gleiche Signal durch ihre jeweiligen Signalpfade zu übertragen, oder einer von ihnen elektrisch geöffnet ist, um zu bewirken, dass nur ein Signalpfad aktiv ist.
  • In verschiedenen Ausführungsformen sind die Betriebsmodi, die durch den ersten und den zweiten Arbiter gesetzt werden, der gleiche Betriebsmodus. Zum Beispiel bewirken der erste Arbiter 4021,2 und der zweite Arbiter 4021,1, dass sich die Signalpfade (z. B. erste von zwei oder mehr Interconnects und zweite von zwei oder mehr Interconnects) im Bandbreitenmodus, Latenzmodus oder Energiemodus befinden. In manchen Ausführungsformen sind die Betriebsmodi, die durch den ersten und den zweiten Arbiter gesetzt werden, unterschiedliche Betriebsmodi.
  • In verschiedenen Ausführungsformen ist mindestens eines der ersten von zwei oder mehr Interconnects und mindestens eines der zweiten von zwei oder mehr Interconnects durch eine Leistungsversorgungsleitung (Vcc) oder eine Masseleitung (Vss) abgeschirmt. In diesem Beispiel ist der Signalpfad Ein1-zu-Aus1 durch entweder Vcc oder Vss abgeschirmt, während der Signalpfad Ein2-zu-Aus2 durch entweder Vcc oder Vss abgeschirmt ist.
  • In manchen Ausführungsformen sollen der erste Arbiter 4021,2 und der zweite Arbiter 4021,1 in dem ersten Modus (z. B. Bandbreitenmodus) eine Propagation separater Signale auf den ersten und zweiten der zwei oder mehr Interconnects bewirken. Zum Beispiel führt jeder Signalpfad ein eindeutiges Signal. In diesem Beispiel können vier unterschiedliche Signale zwischen den zwei Arbitern im Bandbreitenmodus propagiert werden.
  • In manchen Ausführungsformen sollen der erste Arbiter 4021,2 und der zweite Arbiter 4021,1 in dem zweiten Modus (z. B. Latenzmodus) eine Propagation erster gleicher Signale auf den ersten von zwei oder mehr Interconnects und zweiter gleicher Signale auf den zweiten von zwei oder mehr Interconnects bewirken. Zum Beispiel sind Ein1 und Ein3 die gleichen Signale, die vom Arbiter 4021,2 zum Arbiter 4021,1 propagieren, und Ein2 und Ein4 sind die gleichen Signale, die vom Arbiter 4021,1 zum Arbiter 4021,2 propagieren.
  • In manchen Ausführungsformen sollen der erste Arbiter 4021,2 und der zweite Arbiter 4021,1 in dem dritten Modus (z. B. Energiemodus) eine Propagation von Signalen auf alternierenden ersten von zwei oder mehr Interconnects und alternierenden zweiten von zwei oder mehr Interconnects bewirken. Zum Beispiel ist der Signalpfad Ein1-zu-Aus1 aktiviert, aber der Signalpfad Ein3-zu-Aus3 ist deaktiviert. Gleichermaßen ist der Signalpfad Ein2-zu-Aus2 aktiviert, während der Signalpfad Ein4-zu-Aus4 deaktiviert ist.
  • In verschiedenen Ausführungsformen können Arbiter unter Verwendung einer beliebigen geeigneten Logik implementiert werden, wie etwa Multiplexern, Durchlassgattern, Tri-State-Puffern oder Invertern, NAND-Gattern, NOR-Gattern usw., die durch die Modussteuerung 203 steuerbar sind, die Verkehr auf den Interconnects 304 gemäß dem Bitwert der Modussteuerung 203 leitet.
  • 5 veranschaulicht ein trimodales rekonfigurierbares Interconnect 500 im Bandbreitenmodus gemäß manchen Ausführungsformen. In dieser Konfiguration wird eine hohe Bandbreite relativ zu einem einzigen Signalpfad erreicht. Jeder physische Link führt ein eindeutiges logisches Signal. In diesem Beispiel sind 4 physische Drähte innerhalb derselben Verdrahtungsressource gepackt. Hier sind der Arbiter 3011,1 und der Arbiter 3021,2 so konfiguriert (wie durch die Signalrouter 5021,1 und 5021,2 angegeben), dass die Eingänge Ein1, Ein2, Ein3 und Ein4 eindeutige Signale führen.
  • 6 veranschaulicht ein trimodales rekonfigurierbares Interconnect 600 im Latenzmodus gemäß manchen Ausführungsformen. Ein Nachbar (z. B. Signalpfad EIN3) wird als ein Assist-Pfad für den Signalpfad EIN1 umfunktioniert. Hier sind der Arbiter 3011,1 und der Arbiter 3021,2 so konfiguriert (wie durch die Signalrouter 6021,1 und 6021,2 angegeben), dass EIN1 und EIN4 die gleichen Signale führen und Ein1 und Ein3 die gleichen Signale führen. Durch Verwenden paralleler Signalpfade wird eine Kreuzkoppelkapazität zwischen Signalpfaden reduziert. Signalübergänge in dem Assist-Pfad (EIN3) und dem Primärpfad (EIN1) werden zeitlich ausgerichtet, was zu einer effektiven Reduzierung (und im besten Fall Eliminierung) der Koppelkapazität zwischen EIN1 und EIN3 führt. Treibergrößen und Drahtlayout sind identisch (oder im Wesentlichen identisch), damit EIN1 und EIN3 eine genaue Abstimmung ermöglichen. Dennoch verschlechtert sich der Verzögerungsvorteil, falls es eine zeitliche Fehlanpassung der Signalübergänge zwischen EIN1 und EIN3 gibt, erheblich.
  • 7 veranschaulicht ein trimodales rekonfigurierbares Interconnect 700 im Energiemodus gemäß manchen Ausführungsformen. Hier sind der Arbiter 3011,1 und der Arbiter 3021,2 so konfiguriert (wie durch die Signalrouter 7021,1 und 7021,2 angegeben), dass alternierende Signalpfade ermöglicht werden. Von daher wird ein Signalpfad, der ein Signal führt, durch nicht schaltende Signalpfade abgeschirmt. Diese Konfiguration ermöglicht nicht nur einen Niederenergiemodus, da weniger Signalpfade schalten, sondern ermöglicht auch das Abschirmen wichtiger Signale (z. B. hartes Rücksetzsignal) vor Rauschen. In diesem Fall schaltet der Nachbarsignalpfad (EIN3) nicht um, und lediglich der Signalpfad EIN1 schaltet um, wodurch Energie gespart wird. wenn Arbeitslasten keine niedrige Latenz oder hohe Bandbreite erfordern.
  • 8A-B veranschaulichen grafische Darstellungen 800 bzw. 820, die einen Bandbreitenmodus bzw. Latenzmodus zeigen, gemäß manchen Ausführungsformen. Die grafische Darstellung 800 vergleicht die Spitzenbandbreite gegenüber der Latenz für ein typisches Interconnect 801, ein rekonfigurierbares Interconnect im Latenzmodus 802 und ein rekonfigurierbares Interconnect im Bandbreitenmodus 803. Die grafischen Darstellungen zeigen die Leistungsfähigkeit eines trimodalen rekonfigurierbaren Interconnects für einen latenzkritischen Server-MESH-Link. Hier sind die vier Punkte in jeder Kurve unterschiedliche VDD-Punkte: 0,65 V, 0,75 V, 0,9 V und 1,1 V. Die grafische Darstellung 800 zeigt, dass im Bandbreitenmodus die Spitzenbandbreite um bis zu 33 % erhöht werden kann, auf Kosten von 46 % Energie gegenüber 801. Die grafische Darstellung 820 vergleicht die Energie gegenüber der Latenz für ein typisches Interconnect 821, ein rekonfigurierbares Interconnect im Latenzmodus 822 und ein rekonfigurierbares Interconnect im Bandbreitenmodus 823. Die grafische Darstellung 820 zeigt, dass im Latenzmodus die Link-Latenz um 14 % reduziert werden kann, auf Kosten einer Zunahme der Energie von 68 %. Es ist anzumerken, dass sich in diesem Beispiel, falls beide nicht gewünscht sind, dann das rekonfigurierbare Interconnect im Energiemodus mit weniger als 5 % Zunahme der Latenz befinden kann.
  • 9A-B veranschaulichen grafische Darstellungen 900 bzw. 920, die einen Bandbreitenmodus bzw. Latenzmodus zeigen, gemäß manchen Ausführungsformen. Die grafische Darstellung 900 vergleicht die Spitzenbandbreite gegenüber der Latenz für ein typisches Interconnect 901, ein rekonfigurierbares Interconnect im Latenzmodus 902 und ein rekonfigurierbares Interconnect im Bandbreitenmodus 903. Die grafischen Darstellungen zeigen die Leistungsfähigkeit eines trimodalen rekonfigurierbaren Interconnects für einen latenzkritischen Server-MESH-Link. Die grafischen Darstellungen 900 und 920 zeigen zum Beispiel, dass Vorteile selbst unter einem festen Energiebudget erzielt werden können, wie durch unterschiedliche Punkte in einer Kurve gezeigt, die unterschiedliche VDD-Punkte sind: 0,65 V, 0,75 V, 0,9 V und 1,1 V. Die grafische Darstellung 900 der Spitzenbandbreite gegenüber Latenz zeigt, dass es im Bandbreitenmodus selbst unter einer Energieeinschränkung z. B. (maximale Energie, die durch einen Link 901 verbraucht wird) eine Zunahme der Bandbreite von 27 % gibt. Die grafische Darstellung 920 vergleicht die Energie gegenüber der Latenz für ein typisches Interconnect 921, ein rekonfigurierbares Interconnect im Latenzmodus 922 und ein rekonfigurierbares Interconnect im Bandbreitenmodus 923. Die grafische Darstellung 920 zeigt, dass im Latenzmodus die Link-Latenz um 5 % reduziert werden kann, ohne Zunahme der Energie. Es ist anzumerken, dass ein komplexerer (Alle-zu-Allen-) Arbiter auch ein 2-fach und 3-fach-trimodales rekonfigurierbares Interconnect dynamisch unterstützen kann. Hier bezieht sich der Alle-zu-Allen-Arbiter auf einen Arbiter, der mit allen anderen Arbitern direkt kommunizieren kann.
  • 10 veranschaulicht ein trimodales rekonfigurierbares Interconnect 1000 mit 3-fach wiederholten Drähten gemäß manchen Ausführungsformen. In einer alternativen Ausführungsform dieser Erfindung können anstelle des dynamischen Rekonfigurierens eines Paares von gepufferten Interconnects drei gepufferte Interconnects in drei Betriebsmodi - Bandbreite, Latenz und Energie - konfiguriert werden. Ein ähnliches Schema kann verwendet werden, um ,n‘ gepufferte Interconnects zu konfigurieren, wobei ,n‘ größer als 3 ist. In manchen Ausführungsformen bestimmt der Arbiter 10021,1 und 10021,2 die Eingangssignale, die EIN3, EIN4, EIN5 und EIN4 ansteuern, wodurch der Betriebsmodus - Bandbreitenmodus, Latenzmodus und Energiemodus - eingerichtet wird. Tabelle 2 fasst die Modi zusammen. Latenzreduzierung, Energiereduzierung und Bandbreitenerhöhung, die mit einem 3-fach-trimodalen rekonfigurierbaren Interconnect möglich sind, können für bestimmte gepufferte Interconnect-Konfigurationen höher als die Basislinie sein. Tabelle 2
    Modus EIN1 EIN2 EIN3 EIN4 EIN5 EIN6 Anzahl eindeutiger Signale
    Bandbreite EIN1 EIN2 EIN3 EIN4 EIN5 EIN6 6
    Latenz EIN1 EIN2 EIN1 EIN2 EIN1 EIN2 2
    Energie EIN1 EIN2 NICHT ANGESTEUERT NICHT ANGESTEUERT NICHT ANGESTEUERT NICHT ANGESTEUERT 2
  • 11 veranschaulicht ein SOC oder NoC 2400 mit trimodalem rekonfigurierbarem Interconnect gemäß manchen Ausführungsformen. In manchen Ausführungsformen repräsentiert die Vorrichtung 2400 eine zweckmäßige Rechenvorrichtung, wie etwa ein Rechentablet, ein Mobiltelefon oder Smartphone, einen Laptop, einen Desktop, eine Internet-der Dinge-Vorrichtung (Intemet-of-Things - IoT), einen Server, eine Wearable-Vorrichtung, eine Set-Top-Box, einen drahtlosfähigen E-Reader oder dergleichen. Es versteht sich, dass gewisse Komponenten allgemein gezeigt sind und nicht alle Komponenten einer derartigen Vorrichtung in der Vorrichtung 2400 gezeigt sind. Beliebige Blöcke von 11 können ein trimodales rekonfigurierbares Interconnect verschiedener Ausführungsformen aufweisen.
  • Bei einem Beispiel umfasst die Vorrichtung 2400 ein SoC (System-on-Chip) 2401. Eine beispielhafte Grenze des SOC 2401 ist unter Verwendung gestrichelter Linien in 15 veranschaulicht, wobei manche beispielhaften Komponenten als in dem SOC 2401 enthalten veranschaulicht sind - jedoch kann das SOC 2401 beliebige geeignete Komponenten der Vorrichtung 2400 beinhalten.
  • In manchen Ausführungsformen beinhaltet die Vorrichtung 2400 einen Prozessor 2404. Der Prozessor 2404 kann eine oder mehrere physische Vorrichtungen, wie etwa Mikroprozessoren, Anwendungsprozessoren, Mikrocontroller, programmierbare Logikvorrichtungen, Verarbeitungskerne oder andere Verarbeitungsmittel, beinhalten. Die durch den Prozessor 2404 durchgeführten Verarbeitungsoperationen beinhalten die Ausführung einer Betriebsplattform oder eines Betriebssystems, auf der bzw. den Anwendungen und/oder Vorrichtungsfunktionen ausgeführt werden. Die Verarbeitungsoperationen beinhalten Operationen bezüglich E/A (Eingabe/Ausgabe) mit einem menschlichen Benutzer oder mit anderen Vorrichtungen, Operationen bezüglich Leistungsmanagement, Operationen bezüglich Verbindens der Rechenvorrichtung 2400 mit einer anderen Vorrichtung und/oder dergleichen. Die Verarbeitungsoperationen können auch Operationen bezüglich Audio-E/A und/oder Anzeige-E/A aufweisen.
  • In manchen Ausführungsformen beinhaltet der Prozessor 2404 mehrere Prozessorkerne (auch als Kerne bezeichnet) 2408a, 2408b, 2408c. Obgleich lediglich drei Kerne 2408a, 2408b, 2408c in 15 veranschaulicht sind, kann der Prozessor 2404 eine beliebige andere zweckmäßige Anzahl von Verarbeitungskernen beinhalten, z. B. dutzende oder sogar hunderte von Verarbeitungskernen. Die Prozessorkerne 2408a, 2408b, 2408c können auf einem einzelnen Integrierte-Schaltung(IC)-Chip implementiert sein. Darüber hinaus kann der Chip einen oder mehrere gemeinsam genutzte und/oder private Caches, Busse oder Verschaltungen, Grafik- und/oder Speichersteuerung oder andere Komponenten beinhalten.
  • In manchen Ausführungsformen beinhaltet der Prozessor 2404 einen Cache 2406. In einem Beispiel können Abschnitte des Cache 2406 individuellen Kernen 2408 gewidmet sein (z. B. kann ein erster Abschnitt des Cache 2406 dem Kern 2408a gewidmet, ein zweiter Abschnitt des Cache 2406 dem Kern 2408b gewidmet sein und so weiter). Bei einem Beispiel können ein oder mehrere Abschnitte des Cache 2406 unter zwei oder mehr Kernen 2408 gemeinsam genutzt werden. Der Cache 2406 kann in verschiedene Ebenen bzw. Level aufgeteilt sein, z. B. Level 1(L1)-Cache, Level 2(L2)-Cache, Level 3(L3)-Cache usw.
  • In manchen Ausführungsformen kann der Prozessorkern 2404 eine Abrufeinheit zum Abrufen von Anweisungen (einschließlich Anweisungen mit bedingten Verzweigungen) zur Ausführung durch den Kern 2404 beinhalten. Die Anweisungen können von beliebigen Speicherungsvorrichtungen, wie etwa dem Speicher 2430, abgerufen werden. Der Prozessorkern 2404 kann auch eine Decodiereinheit zum Decodieren der abgerufenen Anweisungen beinhalten. Beispielsweise kann die Decodiereinheit die abgerufene Anweisung in mehrere Mikrooperationen decodieren. Der Prozessorkern 2404 kann eine Planungseinheit zum Durchführen verschiedener mit Speichern decodierter Anweisungen assoziierter Operationen beinhalten. Beispielsweise kann die Planungseinheit Daten von der Decodiereinheit halten, bis Anweisungen zum Übermitteln bereit sind, z. B. bis alle Quellwerte einer decodierten Anweisung verfügbar werden. In einer Ausführungsform kann die Planungseinheit decodierte Anweisungen planen und/oder diese zu einer Ausführungseinheit zur Ausführung ausgeben (oder übermitteln).
  • Die Ausführungseinheit kann die übermittelten Anweisungen ausführen, nachdem sie (z. B. durch die Decodiereinheit) decodiert und (z. B. durch die Planungseinheit) übermittelt wurden. In einer Ausführungsform kann die Ausführungseinheit mehr als eine Ausführungseinheit beinhalten (wie etwa eine Bildgebungsberechnungseinheit, eine Grafikberechnungseinheit, eine Allzweckberechnungseinheit usw.). Die Ausführungseinheit kann auch verschiedene arithmetische Operationen wie etwa Addition, Subtraktion, Multiplikation und/oder Division durchführen und kann eine oder mehrere arithmetische Logikeinheiten (ALUs - Arithmetic Logic Units) beinhalten. In einer Ausführungsform kann ein (nicht gezeigter) Co-Prozessor verschiedene arithmetische Operationen in Verbindung mit der Ausführungseinheit durchführen.
  • Ferner kann die Ausführungseinheit Anweisungen nicht der Reihenfolge nach (out-of-order) ausführen. Daher kann der Prozessorkern 2404 bei einer Ausführungsform ein Out-Of-Order-Prozessorkern sein. Der Prozessorkern 2404 kann auch eine Rückzugseinheit aufweisen. Die Rückzugseinheit kann ausgeführte Anweisungen zurückziehen, nachdem sie übergeben wurden. In einer Ausführungsform kann Zurückziehen der ausgeführten Anweisungen darin resultieren, dass ein Prozessorzustand von der Ausführung der Anweisungen übergeben wird, physische Register, die durch die Anweisungen verwendet werden, freigegeben werden, usw. Der Prozessor 2404 kann auch eine Buseinheit beinhalten, um Kommunikation zwischen Komponenten des Prozessorkerns 2404 und anderen Komponenten über einen oder mehrere Busse freizuschalten. Der Prozessorkern 2404 kann auch ein oder mehrere Register zum Speichern von Daten, auf die durch verschiedene Komponenten des Kerns 2404 zugegriffen wird, umfassen (wie etwa Werte, die sich auf App-Prioritäten und/oder Untersystemzustands(Unterzustandsmodi)-Assoziation beziehen).
  • In einigen Ausführungsformen umfasst die Vorrichtung 2400 Konnektivitätsschaltungsanordnungen 2431. Beispielsweise beinhalten die Konnektivitätsschaltungsanordnungen 2431 Hardwarevorrichtungen (z. B. drahtlose und/oder drahtgebundene Verbinder und Kommunikationshardware) und/oder Softwarekomponenten (z. B. Treiber, Protokollstapel), um der Vorrichtung 2400 Kommunikation mit externen Vorrichtungen zu ermöglichen. Die Vorrichtung 2400 kann von den externen Vorrichtungen, wie etwa anderen Rechenvorrichtungen, Drahtloszugangspunkten oder Basisstationen usw., separiert sein.
  • In einem Beispiel können die Konnektivitätsschaltungsanordnungen 2431 mehrere unterschiedliche Konnektivitätsarten beinhalten. Verallgemeinert können die Konnektivitätsschaltungsanordnungen 2431 Zellular-Konnektivitätsschaltungsanordnungen, Drahtlos-Konnektivitätsschaltungsanordnungen usw. beinhalten. Zellular-Konnektivitätsschaltungsanordnungen der Konnektivitätsschaltungsanordnungen 2431 beziehen sich allgemein auf zellulare Netzwerkkonnektivität, die durch drahtlose Träger bereitgestellt wird, wie etwa über GSM (Global System for Mobile Communications - globales System für Mobilkommunikationen) oder Variationen oder Derivate, CDMA (Code Division Multiple Access - Codemultiplex-Mehrfachzugriff) oder Variationen oder Derivate, TDM (Time Division Multiplexing - Zeit-Multiplexing) oder Variationen oder Derivate, 3GPP(3rd Generation Partnership Project)-Universal-Mobile-Telecommunications-Systems(UMTS - universelle Telekommunikationssysteme)-System oder Variationen oder Derivate, 3GPP-Long-Term-Evolution(LTE)-System oder Variationen oder Derivate, 3GPP-LTE-Advanced(LTE-A)-System oder Variationen oder Derivate, Fünftgeneration(5G)-Drahtlossystem oder Variationen oder Derivate, 5G-Mobilnetz-System oder Variationen oder Derivate, 5G-New-Radio(NR)-System oder Variationen oder Derivate oder andere zellulare Dienststandards bereitgestellt. Drahtlos-Konnektivitätsschaltungsanordnungen (oder eine Drahtlosschnittstelle) der Konnektivitätsschaltungsanordnungen 2431 beziehen sich auf eine drahtlose Konnektivität, die nicht zellular ist, und kann persönliche Netze (wie etwa Bluetooth, Nahfeld usw.), lokale Netze (wie etwa WiFi) und/oder großflächige Netze (wie etwa WiMax) und/oder eine andere drahtlose Kommunikation aufweisen. In einem Beispiel können die Konnektivitätsschaltungsanordnungen 2431 eine Netzwerkschnittstelle beinhalten, wie etwa eine drahtgebundene oder drahtlose Schnittstelle, sodass beispielsweise eine Systemausführungsform in eine Drahtlosvorrichtung, zum Beispiel ein Mobiltelefon oder einen Personal Digital Assisstant, integriert werden kann.
  • In manchen Ausführungsformen umfasst die Vorrichtung 2400 einen Steuerhub 2432, der Hardware-Vorrichtungen und/oder Software-Komponenten, die sich auf die Interaktion mit einer oder mehreren E/A-Vorrichtungen beziehen, repräsentiert. Beispielsweise kann der Prozessor 2404 über den Steuerungs-Hub 2432 mit einer Anzeigevorrichtung 2422 und/oder einer oder mehreren Peripherievorrichtungen 2424 und/oder Speicherungsvorrichtungen 2428 und/oder einer oder mehreren externen Vorrichtungen 2429 usw. kommunizieren. Der Steuerhub 2432 kann ein Chipsatz, ein Plattform-Steuerhub (PCH) und/oder dergleichen sein.
  • Beispielsweise veranschaulicht der Steuerhub 2432 einen oder mehrere Verbindungspunkte für zusätzliche Vorrichtungen, die mit der Vorrichtung 2400 verbindbar sind und durch die z. B. ein Benutzer mit dem System interagieren könnte. Vorrichtungen (z. B. Vorrichtungen 2429), die an die Vorrichtung 2400 angeschlossen werden können, beinhalten beispielsweise Mikrofonvorrichtungen, Lautsprecher- oder Stereosysteme, Audiovorrichtungen, Videosysteme oder andere Anzeigevorrichtungen, Tastatur- oder Tastenfeldvorrichtungen oder andere E/A-Vorrichtungen zur Verwendung mit speziellen Anwendungen, wie etwa Kartenlesegeräte oder andere Vorrichtungen.
  • Wie oben erwähnt wurde, kann der Steuerhub 2432 mit Audiovorrichtungen, der Anzeigevorrichtung 2422 usw. interagieren. Beispielsweise kann eine Eingabe über ein Mikrofon oder eine andere Audiovorrichtung Eingaben oder Befehle für eine oder mehrere Anwendungen oder Funktionen der Vorrichtung 2400 bereitstellen. Zusätzlich dazu kann anstelle einer Anzeigeausgabe, oder zusätzlich dazu, eine Audioausgabe bereitgestellt werden. Bei einem anderen Beispiel fungiert die Anzeigevorrichtung 2422, wenn die Anzeigevorrichtung 2422 einen Touchscreen beinhaltet, auch als eine Eingabevorrichtung, die zumindest teilweise durch den Steuerhub 2432 verwaltet sein kann. Es können auch zusätzliche Tasten oder Schalter an der Rechenvorrichtung 2400 vorhanden sein, um durch den Steuerhub 2432 verwaltete E/A-Funktionen bereitzustellen. In einer Ausführungsform verwaltet der Steuerhub 2432 Vorrichtungen, wie etwa Beschleunigungsmesser, Kameras, Lichtsensoren oder andere Umgebungssensoren oder andere Hardware, die in der Vorrichtung 2400 enthalten sein kann. Die Eingabe kann Teil einer direkten Benutzerinteraktion sein, sowie dem System Umgebungseingaben zur Beeinflussung seines Betriebs zuführen (wie etwa Störgeräuschfilterung, Anpassen von Anzeigen zur Helligkeitsdetektion, Anwenden eines Blitzes für eine Kamera oder andere Merkmale).
  • In manchen Ausführungsformen kann der Steuerhub 2432 verschiedene Vorrichtungen unter Verwendung eines beliebigen passenden Kommunikationsprotokolls koppeln, z. B. PCIe (Peripheral Component Interconnect Express), USB (Universal Serial Bus), Thunderbolt, High Definition Multimedia Interface (HDMI), Firewire usw.
  • In manchen Ausführungsformen repräsentiert die Anzeigevorrichtung 2422 Hardware- (z. B. Anzeigevorrichtungen) und Softwarekomponenten (z. B. Treiber), die eine visuelle und/oder taktile Anzeige für einen Benutzer zum Interagieren mit der Vorrichtung 2400 bereitstellen. Die Anzeigevorrichtung 2422 kann eine Anzeigeschnittstelle, einen Anzeigebildschirm und/oder eine Hardwarevorrichtung, die zum Bereitstellen einer Anzeige für einen Benutzer verwendet wird, beinhalten. In einer Ausführungsform beinhaltet die Anzeigevorrichtung 2422 eine Touchscreen(oder Touchpad)-Vorrichtung, die einen Benutzer sowohl mit einer Ausgabe als auch einer Eingabe versieht. In einem Beispiel kann die Anzeigevorrichtung 2422 direkt mit dem Prozessor 2404 kommunizieren. Die Anzeigevorrichtung 2422 kann eine interne Anzeigevorrichtung, wie in einer mobilen elektronischen Vorrichtung oder einer Laptop-Vorrichtung, und/oder eine externe Anzeigevorrichtung sein, die über eine Anzeigeschnittstelle (z. B. DisplayPort usw.) angeschlossen ist. In einer Ausführungsform kann die Anzeigevorrichtung 2422 ein HMD (Head Mounted Display) sein, wie etwa eine stereoskopische Anzeigevorrichtung zur Verwendung bei Anwendungen mit virtueller Realität (VR) oder erweiterter Realität (AR - Augmented Reality).
  • In manchen Ausführungsformen und, obgleich in der Figur nicht veranschaulicht, kann die Vorrichtung 2400 zusätzlich zu (oder anstelle von) Prozessor 2404, eine Grafikverarbeitungseinheit (Graphics Processing Unit - GPU) beinhalten, die einen oder mehrere Grafikverarbeitungskerne umfasst, die einen oder mehrere Aspekte des Anzeigens von Inhalt auf der Anzeigevorrichtung 2422 steuern können.
  • Der Steuerhub 2432 (oder der Plattform-Steuerhub) kann Hardwareschnittstellen und -verbinder sowie Softwarekomponenten (z. B. Treiber, Protokollstapel) beinhalten, um Peripherieverbindungen z. B. mit den Peripherievorrichtungen 2424 herzustellen.
  • Es versteht sich, dass die Vorrichtung 2400 sowohl eine Peripherievorrichtung für andere Rechenvorrichtungen sein kann, als auch Peripherievorrichtungen mit ihr verbunden haben kann. Die Vorrichtung 2400 kann einen „Andock“-Verbinder zum Verbinden mit anderen Rechenvorrichtungen für Zwecke wie etwa das Verwalten (z. B. Herunterladen und/oder Hochladen, Ändern, Synchronisieren) von Inhalt auf der Vorrichtung 2400 aufweisen. Zusätzlich dazu kann es ein Andockverbinder der Vorrichtung 2400 ermöglichen, eine Verbindung mit bestimmten Peripheriegeräten herzustellen, die es der Rechenvorrichtung 2400 ermöglichen, die Inhaltsausgabe zum Beispiel an audiovisuelle oder andere Systeme zu steuern.
  • Zusätzlich zu einem proprietären Andockverbinder oder einer anderen proprietären Verbindungshardware kann die Vorrichtung 2400 Peripherieverbindungen über allgemeine oder standardbasierte Verbinder herstellen. Übliche Arten können einen Universal-Serial-Bus(USB)-Verbinder (der eine beliebige einer Anzahl verschiedener Hardwareschnittstellen beinhalten kann), DisplayPort, einschließlich MiniDisplayPort (MDP), High Definition Multimedia Interface (HDMI), Firewire oder andere Arten beinhalten.
  • In manchen Ausführungsformen können die Konnektivitätsschaltungsanordnungen 2431 mit dem Steuerhub 2432 gekoppelt sein, z. B. zusätzlich zu oder anstelle von direkter Koppelung mit dem Prozessor 2404. In manchen Ausführungsformen kann die Anzeigevorrichtung 2422 mit dem Steuerhub 2432 gekoppelt sein, z. B. zusätzlich zu oder anstelle von direkter Koppelung mit dem Prozessor 2404.
  • In manchen Ausführungsformen umfasst die Vorrichtung 2400 einen Speicher 2430, der über eine Speicherschnittstelle 2434 mit dem Prozessor 2404 gekoppelt ist. Der Speicher 2430 beinhaltet Speichervorrichtungen zum Speichern von Informationen in der Vorrichtung 2400. Zu Speicher können nichtflüchtige (keine Zustandsänderung bei Unterbrechung der Stromzufuhr zur Speichervorrichtung) und/oder flüchtige (unbestimmter Zustand bei Unterbrechung der Stromzufuhr zur Speichervorrichtung) Speichervorrichtungen gehören. Die Speichervorrichtung 2430 kann eine dynamische Direktzugriffsspeicher(DRAM)-Vorrichtung, eine statische Direktzugriffsspeicher(SRAM)-Vorrichtung, eine Flash-Speichervorrichtung, eine Phasenwechsel-Speichervorrichtung oder irgendeine andere Speichervorrichtung sein, die eine geeignete Leistungsfähigkeit aufweist, um als ein Prozessspeicher zu dienen. In einer Ausführungsform kann der Speicher 2430 als Systemspeicher für die Vorrichtung 2400 betrieben werden, um Daten und Anweisungen zu speichern, die verwendet werden, wenn der eine oder die mehreren Prozessoren 2404 eine Anwendung oder einen Prozess ausführen. Der Speicher 2430 kann Anwendungsdaten, Benutzerdaten, Musik, Fotos, Dokumente oder andere Daten sowie Systemdaten (egal ob langfristig oder temporär) bezüglich der Ausführung der Anwendungen und Funktionen der Vorrichtung 2400 speichern.
  • Elemente von verschiedenen Ausführungsformen und Beispielen sind auch als ein maschinenlesbares Medium (z. B. der Speicher 2430) zum Speichern der computerausführbaren Anweisungen (z. B. Anweisungen zum Implementieren beliebiger anderer hierin erörterter Prozesse) bereitgestellt. Das maschinenlesbare Medium (z. B. der Speicher 2430) kann unter anderem Flash-Speicher, optische Platten, CD-ROMs, DVD-ROMs, RAMs, EPROMs, EEPROMs, magnetische oder optische Karten, Phasenwechselspeicher (PCM) oder andere Arten zur Speicherung elektronischer oder computerausführbarer Anweisungen geeigneter maschinenlesbarer Medien beinhalten. Ausführungsformen der Offenbarung können zum Beispiel als ein Computerprogramm (z. B. BIOS) heruntergeladen werden, das von einem entfernten Computer (z. B. einem Server) mittels Datensignalen über einen Kommunikationslink (z. B. ein Modem oder eine Netzwerkverbindung) an einen anfragenden Computer (z. B. einen Client) übertragen werden kann.
  • In manchen Ausführungsformen umfasst die Vorrichtung 2400 Temperaturmessungsschaltungsanordnungen 2440, beispielsweise zum Messen einer Temperatur von verschiedenen Komponenten der Vorrichtung 2400. In einem Beispiel können die Temperaturmessungsschaltungsanordnungen 2440 eingebettet sein, oder mit verschiedenen Komponenten gekoppelt oder an solchen angebracht sein, deren Temperatur gemessen und überwacht werden soll. Zum Beispiel können die Temperaturmessungsschaltungsanordnungen 2440 die Temperatur eines oder mehrerer (oder innerhalb) der Kerne 2408a, 2408b, 2408c, des Spannungsreglers 2414, des Speichers 2430, einer Hauptplatine des SOC 2401 und/oder einer beliebigen geeigneten Komponente der Vorrichtung 2400 messen.
  • Bei einigen Ausführungsformen umfasst die Vorrichtung 2400 Leistungsmessungsschaltungsanordnungen 2442, z. B. zum Messen einer von einer oder mehreren Komponenten der Vorrichtung 2400 verbrauchten Leistung. In einem Beispiel kann die Leistungsmessungsschaltungsanordnung 2442 zusätzlich zu oder anstelle von Messen der Leistung Spannung und/oder Strom messen. In einem Beispiel können die Leistungsmessungsschaltungsanordnungen 2442 eingebettet sein, oder mit verschiedenen Komponenten gekoppelt oder an solchen angebracht sein, deren Leistungs-, Spannungs- und/oder Stromverbrauch gemessen und überwacht werden soll. Zum Beispiel können die Leistungsmessungsschaltungsanordnungen 2442 Leistung, Strom und/oder Spannung, die durch einen oder mehrere Spannungsregler 2414 geliefert werden, Leistung, die an das SOC 2401 geliefert wird, Leistung, die an die Vorrichtung 2400 geliefert wird, Leistung, die durch den Prozessor 2404 (oder eine beliebige andere Komponente) der Vorrichtung 2400 verbraucht wird, usw. messen.
  • In manchen Ausführungsformen umfasst die Vorrichtung 2400 eine oder mehrere Spannungsreglerschaltungsanordnungen, die allgemein als Spannungsregler (VR: Voltage Regulator) 2414 bezeichnet werden. Der VR 2414 erzeugt Signale mit zweckmäßigen Spannungspegeln, die zum Betreiben beliebiger zweckmäßiger Komponenten der Vorrichtung 2400 zugeführt werden können. Der VR 2414 ist lediglich als ein Beispiel derart veranschaulicht, dass er dem Prozessor 2404 der Vorrichtung 2400 Signale zuführt. In manchen Ausführungsformen empfängt der VR 2414 ein oder mehrere Spannungsidentifikationssignale bzw. VID-Signale (Voltage Identification - VID) und erzeugt auf der Grundlage der VID-Signale das Spannungssignal mit einem zweckmäßigen Pegel. Verschiedene Arten von VRs können für den VR 2414 genutzt werden. Der VR 2414 kann zum Beispiel einen „Buck“-VR, „Boost“-VR, eine Kombination von Buck- und Boost-VRs, LDO(low dropout)-Regler, DC-DC-Schaltregler usw. beinhalten. Ein Buck-VR wird im Allgemeinen in Leistungslieferungsanwendungen verwendet, in denen eine Eingangsspannung mit einem kleineren als dem Einheitsverhältnis in eine Ausgangsspannung transformiert werden muss. Ein Boost-VR wird im Allgemeinen in Leistungslieferungsanwendungen verwendet, in denen eine Eingangsspannung mit einem größeren als dem Einheitsverhältnis in eine Ausgangsspannung transformiert werden muss. In manchen Ausführungsformen weist jeder Prozessorkern seinen eigenen VR auf, der durch PCU 2410a/b und/oder PMIC 2412 gesteuert wird. In manchen Ausführungsformen weist jeder Kern ein Netzwerk von verteilten LDOs auf, um eine effiziente Leistungsverwaltungssteuerung bereitzustellen. Die LDOs können digital, analog oder eine Kombination von digitalen oder analogen LDOs sein.
  • In manchen Ausführungsformen umfasst die Vorrichtung 2400 eine oder mehrere Taktgeneratorschaltungsanordnungen, die allgemein als Taktgenerator 2416 bezeichnet werden. Der Taktgenerator 2416 erzeugt Signale mit zweckmäßigen Frequenzniveaus, die beliebigen passenden Komponenten der Vorrichtung 2400 zugeführt werden können. Der Taktgenerator 2416 ist lediglich als ein Beispiel derart dargestellt, dass er dem Prozessor 2404 der Vorrichtung 2400 Taktsignale zuführt. In manchen Ausführungsformen empfängt der Taktgenerator 2416 ein oder mehrere Frequenzidentifikationssignale bzw. FID-Signale (Frequency Identification - FID) und erzeugt auf der Grundlage der FID-Signale die Taktsignale mit zweckmäßigen Frequenzen. Der Taktgenerator 2416 ist eine adaptive Taktquelle, der eine adaptive Frequenzausgabe liefern kann, wie unter Bezugnahme auf verschiedene Ausführungsformen besprochen wurde.
  • In manchen Ausführungsformen umfasst die Vorrichtung 2400 eine Batterie 2418, die verschiedenen Komponenten der Vorrichtung 2400 Leistung zuführt. Die Batterie 2418 ist lediglich als ein Beispiel derart dargestellt, dass sie dem Prozessor 2404 Leistung zuführt. Obgleich in den Figuren nicht veranschaulicht, kann die Vorrichtung 2400 eine Ladungsschaltungsanordnung umfassen, z. B. zum Aufladen der Batterie, auf der Grundlage einer von einem AC-Adapter empfangenen Wechselstrom-Leistungszufuhr (AC-Leistungszufuhr).
  • In manchen Ausführungsformen umfasst die Vorrichtung 2400 eine Leistungssteuerungseinheit (Power Control Unit - PCU) 2410 (auch als Leistungsverwaltungseinheit (Power Management Unit - PMU), Leistungssteuerung bzw. Power Controller usw. bezeichnet). In einem Beispiel können einige Abschnitte der PCU 2410 durch einen oder mehrere Prozessorkerne 2408 implementiert sein, und diese Abschnitte der PCU 2410 sind symbolisch unter Verwendung eines gestrichelten Kastens veranschaulicht und mit PCU 2410a gekennzeichnet. In einem Beispiel können einige weitere Abschnitte der PCU 2410 außerhalb der Prozessorkerne 2408 implementiert sein, und diese Abschnitte der PCU 2410 sind symbolisch unter Verwendung eines gestrichelten Kastens veranschaulicht und mit PCU 2410b gekennzeichnet. Die PCU 2410 kann verschiedene Leistungsverwaltungsoperationen für die Vorrichtung 2400 implementieren. Die PCU 2410 kann Hardwareschnittstellen, Hardwareschaltungsanordnungen, Verbinder, Register usw. sowie Softwarekomponenten (z. B. Treiber, Protokollstapel) beinhalten, um verschiedene Leistungsverwaltungsoperationen für die Vorrichtung 2400 zu implementieren.
  • In manchen Ausführungsformen umfasst die Vorrichtung 2400 eine integrierte Leistungsverwaltungsschaltung (Power Management Integrated Circuit - PMIC) 2412, z. B. zum Implementieren verschiedener Leistungsverwaltungsoperationen für die Vorrichtung 2400. In manchen Ausführungsformen ist die PMIC 2412 eine neukonfigurierbare integrierte Leistungsverwaltungsschaltung (Reconfigurable Power Management IC - RPMIC) und/oder eine IMVP (Intel® Mobile Voltage Positioning). In einem Beispiel befindet sich die PMIC innerhalb eines von dem Prozessor 2404 getrennten IC-Chips. Sie kann verschiedene Leistungsverwaltungsoperationen für die Vorrichtung 2400 implementieren. Die PMIC 2412 kann Hardwareschnittstellen, Hardwareschaltungsanordnungen, Verbinder, Register usw. sowie Softwarekomponenten (z. B. Treiber, Protokollstapel) beinhalten, um verschiedene Leistungsverwaltungsoperationen für die Vorrichtung 2400 zu implementieren.
  • In einem Beispiel umfasst die Vorrichtung 2400 eine oder beide der PCU 2410 oder der PMIC 2412. In einem Beispiel kann eine der PCU 2410 oder der PMIC 2412 in der Vorrichtung 2400 fehlen, und somit sind diese Komponenten unter Verwendung von gestrichelten Linien veranschaulicht.
  • Verschiedene Leistungsverwaltungsoperationen der Vorrichtung 2400 können durch die PCU 2410, durch die PMIC 2412 oder durch eine Kombination von PCU 2410 und PMIC 2412 durchgeführt werden. Beispielsweise kann die PCU 2410 und/oder die PMIC 2412 einen Leistungszustand (z. B. P-Zustand) für verschiedene Komponenten der Vorrichtung 2400 auswählen. Beispielsweise kann die PCU 2410 und/oder die PMIC 2412 einen Leistungszustand (z. B. gemäß der ACPI-Spezifikation (ACPI: Advanced Configuration and Power Interface)) für verschiedene Komponenten der Vorrichtung 2400 auswählen. Lediglich als ein Beispiel können die PCU 2410 und/oder die PMIC 2412 bewirken, dass verschiedene Komponenten der Vorrichtung 2400 in einen Schlafzustand, in einen aktiven Zustand, in einen geeigneten C-Zustand (z. B. CO-Zustand oder einen anderen geeigneten C-Zustand gemäß der ACPI-Spezifikation) usw. übergehen. In einem Beispiel kann die PCU 2410 und/oder die PMIC 2412 jeweils eine Spannungsausgabe durch den VR 2414 und/oder eine Frequenz einer Taktsignalausgabe durch den Taktgenerator z. B. durch Ausgeben des VID-Signals und/oder des FID-Signals steuern. In einem Beispiel kann die PCU 2410 und/oder die PMIC 2412 Batterieleistungsnutzung, Laden der Batterie 2418 und auf Leistungseinsparungsbetrieb bezogene Merkmale steuern.
  • Der Taktgenerator 2416 kann eine Phasenregelschleife (Phase Locked Loop - PLL), eine Frequenzregelschleife (Frequency Locked Loop - FLL) oder eine beliebige geeignete Taktquelle umfassen. In manchen Ausführungsformen weist jeder Kern von Prozessor 2404 seine eigene Taktquelle auf. Von daher kann jeder Kern bei einer Frequenz unabhängig von der Betriebsfrequenz des anderen Kerns arbeiten. In manchen Ausführungsformen führt die PCU 2410 und/oder die PMIC 2412 adaptive oder dynamische Frequenzskalierung oder -anpassung durch. Die Taktfrequenz eines Prozessorkerns kann beispielsweise erhöht werden, wenn der Kern nicht bei dessen Maximalleistungsaufnahmeschwelle oder -grenze betrieben wird. In manchen Ausführungsformen bestimmt die PCU 2410 und/oder die PMIC 2412 die Betriebsbedingung für jeden Kern eines Prozessors und passt die Frequenz und/oder die Leistungszufuhrspannung des Kerns opportunistisch an, ohne dass die Kerntaktquelle (z. B. die PLL des Kerns) ihre Phasenstarre verliert, wenn die PCU 2410 und/oder die PMIC 2412 bestimmt, dass der Kern unterhalb eines Zielleistungsfähigkeitsniveaus arbeitet. Falls beispielsweise ein Kern weniger Strom als ein diesem Kern oder Prozessor 2404 zugeteilter Gesamtstrom aus einer Leistungsversorgungsleitung zieht, dann kann die PCU 2410 und/oder die PMIC 2412 temporär den Leistungsabzug für diesen Kern oder Prozessor 2404 (z. B. durch Erhöhen der Taktfrequenz und/oder des Leistungszufuhrspannungspegels) erhöhen, sodass der Kern oder der Prozessor 2404 auf einem höheren Leistungsfähigkeitsniveau agieren kann. Von daher kann die Spannung und/oder die Frequenz temporär für den Prozessor 2404 erhöht werden, ohne die Produktzuverlässigkeit zu verletzen.
  • In einem Beispiel kann die PCU 2410 und/oder die PMIC 2412 Leistungsverwaltungsoperationen durchführen, z. B. zumindest teilweise auf der Grundlage vom Empfangen von Messungen der Leistungsmessungsschaltungsanordnungen 2442, der Temperaturmessungsschaltungsanordnungen 2440, des Ladungspegels der Batterie 2418 und/oder jeglicher anderer zweckmäßiger Informationen, die für die Leistungsverwaltung verwendet werden können. Hierfür ist die PMIC 2412 mit einem oder mehreren Sensoren kommunikativ gekoppelt, um verschiedene Werte/Variationen von einem oder mehreren Faktoren, die eine Auswirkung auf das Leistungs- bzw. thermische Verhalten des Systems/der Plattform haben, zu erfassen bzw. zu detektieren. Beispiele für den einen oder die mehreren Faktoren beinhalten elektrischen Strom, Spannungsabfall, Temperatur, Betriebsfrequenz, Betriebsspannung, Leistungsverbrauch, Inter-Kern-Kommunikationsaktivität usw. Einer oder mehrere dieser Sensoren können in physischer Nähe (und/oder thermischem Kontakt bzw. thermischer Kopplung) zu einer oder mehreren Komponenten oder logischen/IP-Blöcken eines Rechensystems bereitgestellt sein. Zusätzlich kann der Sensor bzw. können die Sensoren in mindestens einer Ausführungsform direkt mit der PCU 2410 und/oder der PMIC 2412 gekoppelt sein, um der PCU 2410 und/oder der PMIC 2412 zu erlauben, Prozessorkernenergie zumindest teilweise auf der Grundlage eines Werts bzw. von Werten, der bzw. die durch einen oder mehrere der Sensoren detektiert wurden, zu verwalten.
  • Ebenso ist ein Beispielsoftwarestapel der Vorrichtung 2400 veranschaulicht (obgleich nicht alle Elemente des Softwarestapels veranschaulicht sind). Lediglich als ein Beispiel können die Prozessoren 2404 Anwendungsprogramme 2450, ein Betriebssystem 2452, ein oder mehrere für die Leistungsverwaltung (PM) spezifische Anwendungsprogramme (z. B. generisch als PM-Anwendungen 2458 bezeichnet) und/oder dergleichen ausführen. PM-Anwendungen 2458 können auch durch die PCU 2410 und/oder die PMIC 2412 ausgeführt werden. Das OS 2452 kann auch eine oder mehrere PM-Anwendungen 2456a, 2456b, 2456c beinhalten. Das OS 2452 kann auch verschiedene Treiber 2454a, 2454b, 2454c usw. beinhalten, von denen einige für Leistungsverwaltungszwecke spezifisch sein können. In manchen Ausführungsformen kann die Vorrichtung 2400 ferner ein Basic Input/Output System (BIOS) 2420 umfassen. Das BIOS 2420 kann mit dem OS 2452 (z. B. über einen oder mehrere Treiber 2454) kommunizieren, mit Prozessoren 2404 kommunizieren usw.
  • Eines oder mehrere von PM-Anwendungen 2458, 2456, Treibern 2454, BIOS 2420 usw. können beispielsweise zum Implementieren von Leistungsverwaltung-spezifischen Aufgaben verwendet werden, z. B. zum Steuern von Spannung und/oder Frequenz von verschiedenen Komponenten der Vorrichtung 2400, zum Steuern eines Aufwachzustands, eines Schlafzustands und/oder irgendeines anderen zweckmäßigen Leistungszustands verschiedener Komponenten der Vorrichtung 2400, zum Steuern der Batterieleistungsnutzung, Laden der Batterie 2418, von auf Leistungseinsparungsbetrieb bezogenen Merkmalen usw.
  • In der Spezifikation bedeutet ein Bezug auf „eine Ausführungsform“, „manche Ausführungsformen“ oder „andere Ausführungsformen“, dass ein spezielles Merkmal, eine spezielle Struktur oder eine spezielle Charakteristik, das bzw. die in Verbindung mit den Ausführungsformen beschrieben wird, in zumindest einigen Ausführungsformen, aber nicht zwangsweise allen Ausführungsformen enthalten ist. Die verschiedenen Vorkommnisse von „einer Ausführungsform“ oder „manchen Ausführungsformen“ beziehen sich nicht immer notwendigerweise auf dieselben Ausführungsformen. Falls die Spezifikation angibt, dass eine Komponente, ein Merkmal, eine Struktur oder eine Charakteristik enthalten sein „kann“ oder „könnte“, muss die spezielle Komponente, das spezielle Merkmal, die spezielle Struktur oder die spezielle Charakteristik nicht notwendigerweise enthalten sein. Falls die Spezifikation oder der Anspruch auf „ein“ Element verweist, bedeutet dies nicht, dass es nur eines der Elemente gibt. Falls sich die Spezifikation oder die Ansprüche auf „ein zusätzliches“ Element beziehen, schließt dies nicht aus, dass es mehr als eines des zusätzlichen Elements gibt.
  • Darüber hinaus können die speziellen Merkmale, Strukturen, Funktionen oder Charakteristiken in einer oder mehreren Ausführungsformen auf eine beliebige geeignete Weise kombiniert werden. Eine erste Ausführungsform kann zum Beispiel überall dort mit einer zweiten Ausführungsform kombiniert werden, wo sich die mit den beiden Ausführungsformen assoziierten speziellen Merkmale, Strukturen, Funktionen oder Charakteristiken nicht gegenseitig ausschließen.
  • Obwohl die Offenbarung in Verbindung mit spezifischen Ausführungsformen davon beschrieben wurde, sind für Fachleute angesichts der vorangegangenen Beschreibung viele Alternativen, Modifikationen und Variationen derartiger Ausführungsformen ersichtlich. Die Ausführungsformen der Offenbarung sollen alle derartigen Alternativen, Modifikationen und Variationen, die in den breiten Schutzumfang der angehängten Ansprüche fallen, einschließen.
  • Zusätzlich dazu können wohlbekannte Leistungs-/Masseverbindungen zu Integrierte-Schaltung(IC)-Chips und anderen Komponenten in den dargelegten Figuren gezeigt sein oder auch nicht, um die Veranschaulichung und die Erörterung zu vereinfachen und die Offenbarung nicht unklar zu machen. Des Weiteren können Anordnungen in Blockdiagrammform gezeigt sein, um zu vermeiden, dass die Offenbarung unklar wird, und auch angesichts dessen, dass Spezifika hinsichtlich der Implementierung derartiger Blockdiagrammanordnungen in hohem Maße von der Plattform abhängen, innerhalb derer die vorliegende Offenbarung implementiert werden soll (d. h. derartige Spezifika sollten im Kenntnisbereich von Fachleuten liegen). Dort, wo spezifische Einzelheiten (z. B. Schaltungen) dargelegt sind, um Ausführungsbeispiele der Offenbarung zu beschreiben, sollte es Fachleuten ersichtlich sein, dass die Offenbarung ohne diese spezifischen Einzelheiten oder mit einer Variante davon umgesetzt werden kann. Die Beschreibung ist somit als veranschaulichend statt als beschränkend aufzufassen.
  • Die folgenden Beispiele betreffen weitere Ausführungsformen. Einzelheiten in den Beispielen können überall in einer oder mehreren Ausführungsformen verwendet werden. Alle optionalen Merkmale der vorliegend beschriebenen Einrichtung können auch hinsichtlich eines Verfahrens oder Prozesses implementiert werden.
  • Beispiel 1: Eine Einrichtung, die Folgendes umfasst: eine Steuerung zum Erzeugen eines Modussignals, wobei das Modussignal einen Betriebsmodus für erste und zweite von zwei oder mehr Interconnects angibt, wobei der Betriebsmodus eines von Folgendem beinhaltet: einen ersten Modus, einen zweiten Modus oder einen dritten Modus; und einen ersten Arbiter, der kommunikativ mit der Steuerung gekoppelt ist, wobei der erste Arbiter ausgelegt ist zum Konfigurieren der ersten von zwei oder mehr Interconnects, sodass sie sich in einem des ersten, zweiten oder dritten Modus befinden; und einen zweiten Arbiter, der kommunikativ mit der Steuerung gekoppelt ist, wobei der zweite Arbiter ausgelegt ist zum Konfigurieren der zweiten von zwei oder mehr Interconnects, sodass sie sich in einem gleichen Modus wie die ersten von zwei oder mehr Interconnects befinden.
  • Beispiel 2: Die Einrichtung nach Beispiel 1, wobei der erste und der zweite Arbiter funktionsfähig sind zum: Kurzschließen von Eingängen der ersten von zwei oder mehr Interconnects; Verbinden von Eingängen der ersten von zwei oder mehr Interconnects mit Eingangsanschlüssen oder Ausgangsanschlüssen des ersten oder zweiten Arbiters; oder Trennen von Eingängen eines der ersten von zwei oder mehr Interconnects zu Eingangsanschlüssen oder Ausgangsanschlüssen des ersten oder zweiten Arbiters.
  • Beispiel 3: Die Einrichtung nach Beispiel 1, wobei mindestens eines der ersten von zwei oder mehr Interconnects und mindestens eines der zweiten von zwei oder mehr Interconnects durch eine Leistungsversorgungsleitung oder eine Masseleitung abgeschirmt sind.
  • Beispiel 4: Die Einrichtung nach Beispiel 1, wobei der erste Modus ein Bandbreitenmodus ist, wobei der erste und der zweite Arbiter ausgelegt sind zum Bewirken der Propagation separater Signale auf den ersten und zweiten der zwei oder mehr Interconnects.
  • Beispiel 5: Die Einrichtung nach Beispiel 1, wobei der zweite Modus ein Latenzmodus ist, wobei der erste und der zweite Arbiter ausgelegt sind zum Bewirken der Propagation erster gleicher Signale auf den ersten von zwei oder mehr Interconnects und zweiter gleicher Signale auf den zweiten von zwei oder mehr Interconnects.
  • Beispiel 6: Die Einrichtung nach Beispiel 1, wobei der dritte Modus ein Energiemodus ist, wobei der erste und der zweite Arbiter ausgelegt sind zum Bewirken der Propagation von Signalen auf alternierenden ersten von zwei oder mehr Interconnects und alternierenden zweiten von zwei oder mehr Interconnects.
  • Beispiel 7: Die Einrichtung nach Beispiel 1, wobei die Steuerung eine Leistungsverwaltungseinheit ist, die auch funktionsfähig ist, eine dynamische Spannungs- und Frequenzskalierung durchzuführen.
  • Beispiel 8: Eine Einrichtung, die Folgendes umfasst: eine Leistungsverwaltungseinheit (PMU) zum Erzeugen einer Modussteuerung; und ein Mesh-Netzwerk von Arbitern, die mit der PMU gekoppelt sind, wobei das Mesh-Netzwerk von Arbitern Folgendes beinhaltet: einen ersten Arbiter, der kommunikativ mit der PMU gekoppelt ist und ausgelegt ist zum Empfangen der Modussteuerung; einen zweiten Arbiter, der kommunikativ mit der PMU gekoppelt ist und ausgelegt ist zum Empfangen der Modussteuerung; ein erstes Paar von Signalpfaden mit einem ersten Treiber und einem zweiten Treiber, die mit dem ersten Arbiter gekoppelt sind, und einem ersten Empfänger und einem zweiten Empfänger, die mit dem zweiten Arbiter gekoppelt sind; und ein zweites Paar von Signalpfaden mit einem dritten Treiber und einem vierten Treiber, die mit dem zweiten Arbiter gekoppelt sind, und einem dritten Empfänger und einem vierten Empfänger, die mit dem ersten Arbiter gekoppelt sind; wobei der erste und der zweite Arbiter dazu ausgelegt sind, den ersten und den zweiten Signalpfad so zu konfigurieren, dass sie sich gemäß der Modussteuerung in einem des ersten, zweiten oder dritten Modus befinden.
  • Beispiel 9: Die Einrichtung nach Anspruch 8, wobei die PMU ausgelegt ist zum Durchführen einer dynamischen Spannungs- und Frequenzskalierung.
  • Beispiel 10: Die Einrichtung nach Anspruch 8, wobei der erste und der zweite Arbiter funktionsfähig sind zum: Verbinden jedes Eingangs des ersten Paares von Signalpfaden mit jedem Eingangsanschluss oder Ausgangsanschluss des ersten oder zweiten Arbiters; oder Kurzschließen von Eingängen des ersten Paares von Signalpfaden zu einem gleichen Signalanschluss des ersten oder zweiten Arbiters.
  • Beispiel 11: Die Einrichtung nach Anspruch 8, wobei der erste und der zweite Arbiter funktionsfähig sind zum: Öffnen eines elektrischen Pfades eines Eingangs eines der Signalpfade des ersten Paares von Signalpfaden; oder Verbinden jedes Eingangs des ersten Paares von Signalpfaden mit jedem Eingangsanschluss oder Ausgangsanschluss des ersten oder zweiten Arbiters.
  • Beispiel 12: Die Einrichtung nach Anspruch 8, wobei der erste und der zweite Arbiter funktionsfähig sind zum: Verbinden jedes Eingangs des zweiten Paares von Signalpfaden mit jedem Eingangsanschluss oder Ausgangsanschluss des ersten oder zweiten Arbiters; oder Kurzschließen von Eingängen des zweiten Paares von Signalpfaden zu dem gleichen Signalanschluss des ersten oder zweiten Arbiters.
  • Beispiel 13: Die Einrichtung nach Anspruch 8, wobei der erste und der zweite Arbiter funktionsfähig sind zum: Öffnen eines elektrischen Pfades eines Eingangs eines der Signalpfade des zweiten Paares von Signalpfaden; oder Verbinden jedes Eingangs des ersten Paares von Signalpfaden mit jedem Eingangsanschluss oder Ausgangsanschluss des ersten oder zweiten Arbiters.
  • Beispiel 14: Die Einrichtung nach Anspruch 8, wobei der erste Modus ein Bandbreitenmodus ist, wobei der erste und der zweite Arbiter ausgelegt sind zum Bewirken der Propagation separater Signale auf dem ersten und zweiten Paar von Signalpfaden.
  • Beispiel 15: Die Einrichtung nach Anspruch 8, wobei der zweite Modus ein Latenzmodus ist, wobei der erste und der zweite Arbiter ausgelegt sind zum Bewirken der Propagation erster gleicher Signale auf dem ersten Paar von Signalpfaden und zweiter gleicher Signale auf dem zweiten Paar von Signalpfaden.
  • Beispiel 16: Die Einrichtung nach Anspruch 8, wobei der erste Modus ein Energiemodus ist, wobei der erste und der zweite Arbiter ausgelegt sind zum Bewirken der Propagation von Signalen auf alternierenden Signalpfaden des ersten und zweiten Paares der Signalpaarpfade.
  • Beispiel 17: Ein System, das Folgendes umfasst: einen Speicher; einen Prozessorkern, der mit dem Speicher gekoppelt ist; eine Leistungsverwaltungseinheit (PMU), die mit dem Kern gekoppelt ist und ausgelegt ist zum Durchführen einer dynamischen Spannungs- und Frequenzskalierung auf dem Prozessorkern; ein Network-on-Chip (NOC), das Mesh- oder Ring-Netzwerke umfasst, wobei das NOC Folgendes beinhaltet: ein Netzwerk von Arbitern, die mit der PMU gekoppelt sind, wobei das Netzwerk von Arbitern Folgendes beinhaltet: einen ersten Arbiter, der kommunikativ mit der PMU gekoppelt ist und ausgelegt ist zum Empfangen der Modussteuerung; einen zweiten Arbiter, der kommunikativ mit der PMU gekoppelt ist und ausgelegt ist zum Empfangen der Modussteuerung; ein erstes Paar von Signalpfaden mit einem ersten Treiber und einem zweiten Treiber, die mit dem ersten Arbiter gekoppelt sind, und einem ersten Empfänger und einem zweiten Empfänger, die mit dem zweiten Arbiter gekoppelt sind; und ein zweites Paar von Signalpfaden mit einem dritten Treiber und einem vierten Treiber, die mit dem zweiten Arbiter gekoppelt sind, und einem dritten Empfänger und einem vierten Empfänger, die mit dem ersten Arbiter gekoppelt sind, wobei der erste und der zweite Arbiter dazu ausgelegt sind, den ersten und den zweiten Signalpfad so zu konfigurieren, dass sie sich gemäß der Modussteuerung in einem des ersten, zweiten oder dritten Modus befinden; und eine Drahtlosschnittstelle zum Ermöglichen, dass der Prozessor mit einer anderen Vorrichtung kommuniziert.
  • Beispiel 18: Das System nach Anspruch 17, wobei der erste Modus ein Bandbreitenmodus ist, wobei der erste und der zweite Arbiter ausgelegt sind zum Bewirken der Propagation separater Signale auf dem ersten und zweiten Paar von Signalpfaden.
  • Beispiel 19: Das System nach Anspruch 17, wobei der zweite Modus ein Latenzmodus ist, wobei der erste und der zweite Arbiter ausgelegt sind zum Bewirken der Propagation erster gleicher Signale auf dem ersten Paar von Signalpfaden und zweiter gleicher Signale auf dem zweiten Paar von Signalpfaden.
  • Beispiel 20: Das System nach Anspruch 17, wobei der erste Modus ein Energiemodus ist, wobei der erste und der zweite Arbiter ausgelegt sind zum Bewirken der Propagation von Signalen auf alternierenden Signalpfaden des ersten und zweiten Paares der Signalpaarpfade.
  • Es wird eine Zusammenfassung bereitgestellt, die es dem Leser ermöglicht, die Natur und den Kern der technischen Offenbarung zu erfassen. Die Zusammenfassung wird mit dem Verständnis vorgelegt, dass sie nicht dazu verwendet wird, den Schutzumfang oder die Bedeutung der Ansprüche einzuschränken. Die folgenden Ansprüche werden hiermit in die ausführliche Beschreibung aufgenommen, wobei jeder Anspruch alleine als eine separate Ausführungsform steht.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • US 16/576687 [0001]

Claims (25)

  1. Einrichtung, die Folgendes umfasst: eine Steuerung zum Erzeugen eines Modussignals, wobei das Modussignal einen Betriebsmodus für erste und zweite von zwei oder mehr Interconnects angibt, wobei der Betriebsmodus eines von Folgendem beinhaltet: einen ersten Modus, einen zweiten Modus oder einen dritten Modus; einen ersten Arbiter, der kommunikativ mit der Steuerung gekoppelt ist, wobei der erste Arbiter ausgelegt ist zum Konfigurieren der ersten von zwei oder mehr Interconnects, sodass sie sich in einem des ersten, zweiten oder dritten Modus befinden; und einen zweiten Arbiter, der kommunikativ mit der Steuerung gekoppelt ist, wobei der zweite Arbiter ausgelegt ist zum Konfigurieren der zweiten von zwei oder mehr Interconnects, sodass sie sich in einem gleichen Modus wie die ersten von zwei oder mehr Interconnects befinden.
  2. Einrichtung nach Anspruch 1, wobei der erste und der zweite Arbiter funktionsfähig sind zum: Kurzschließen von Eingängen der ersten von zwei oder mehr Interconnects; Verbinden von Eingängen der ersten von zwei oder mehr Interconnects mit Eingangsanschlüssen oder Ausgangsanschlüssen des ersten oder zweiten Arbiters; oder Trennen von Eingängen eines der ersten von zwei oder mehr Interconnects zu Eingangsanschlüssen oder Ausgangsanschlüssen des ersten oder zweiten Arbiters.
  3. Einrichtung nach Anspruch 1, wobei mindestens eines der ersten von zwei oder mehr Interconnects und mindestens eines der zweiten von zwei oder mehr Interconnects durch eine Leistungsversorgungsleitung oder eine Masseleitung abgeschirmt sind.
  4. Einrichtung nach Anspruch 1, wobei der erste Modus ein Bandbreitenmodus ist, wobei der erste und der zweite Arbiter ausgelegt sind zum Bewirken der Propagation separater Signale auf den ersten und zweiten der zwei oder mehr Interconnects.
  5. Einrichtung nach Anspruch 1, wobei der zweite Modus ein Latenzmodus ist, wobei der erste und der zweite Arbiter ausgelegt sind zum Bewirken der Propagation erster gleicher Signale auf den ersten von zwei oder mehr Interconnects und zweiter gleicher Signale auf den zweiten von zwei oder mehr Interconnects.
  6. Einrichtung nach Anspruch 1, wobei der dritte Modus ein Energiemodus ist, wobei der erste und der zweite Arbiter ausgelegt sind zum Bewirken der Propagation von Signalen auf alternierenden ersten von zwei oder mehr Interconnects und alternierenden zweiten von zwei oder mehr Interconnects.
  7. Einrichtung nach einem der Ansprüche 1 bis 6, wobei die Steuerung eine Leistungsverwaltungseinheit ist, die auch funktionsfähig ist, eine dynamische Spannungs- und Frequenzskalierung durchzuführen.
  8. Einrichtung, die Folgendes umfasst: eine Leistungsverwaltungseinheit (PMU) zum Erzeugen einer Modussteuerung; und ein Mesh-Netzwerk von Arbitern, die mit der PMU gekoppelt sind, wobei das Mesh-Netzwerk von Arbitern Folgendes beinhaltet: einen ersten Arbiter, der kommunikativ mit der PMU gekoppelt ist und ausgelegt ist zum Empfangen der Modussteuerung; einen zweiten Arbiter, der kommunikativ mit der PMU gekoppelt ist und ausgelegt ist zum Empfangen der Modussteuerung; ein erstes Paar von Signalpfaden mit einem ersten Treiber und einem zweiten Treiber, die mit dem ersten Arbiter gekoppelt sind, und einem ersten Empfänger und einem zweiten Empfänger, die mit dem zweiten Arbiter gekoppelt sind; und ein zweites Paar von Signalpfaden mit einem dritten Treiber und einem vierten Treiber, die mit dem zweiten Arbiter gekoppelt sind, und einem dritten Empfänger und einem vierten Empfänger, die mit dem ersten Arbiter gekoppelt sind; wobei der erste und der zweite Arbiter dazu ausgelegt sind, den ersten und den zweiten Signalpfad so zu konfigurieren, dass sie sich gemäß der Modussteuerung in einem des ersten, zweiten oder dritten Modus befinden.
  9. Einrichtung nach Anspruch 8, wobei die PMU ausgelegt ist zum Durchführen einer dynamischen Spannungs- und Frequenzskalierung.
  10. Die Einrichtung nach Anspruch 8, wobei der erste und der zweite Arbiter ausgelegt sind zum: Verbinden jedes Eingangs des ersten Paares von Signalpfaden mit jedem Eingangsanschluss oder Ausgangsanschluss des ersten oder zweiten Arbiters; oder Kurzschließen von Eingängen des ersten Paares von Signalpfaden zu einem gleichen Signalanschluss des ersten oder zweiten Arbiters.
  11. Einrichtung nach Anspruch 8, wobei der erste und der zweite Arbiter ausgelegt sind zum: Öffnen eines elektrischen Pfades eines Eingangs eines der Signalpfade des ersten Paares von Signalpfaden; oder Verbinden jedes Eingangs des ersten Paares von Signalpfaden mit jedem Eingangsanschluss oder Ausgangsanschluss des ersten oder zweiten Arbiters.
  12. Einrichtung nach Anspruch 8, wobei der erste und der zweite Arbiter ausgelegt sind zum: Verbinden jedes Eingangs des zweiten Paares von Signalpfaden mit jedem Eingangsanschluss oder Ausgangsanschluss des ersten oder zweiten Arbiters; oder Kurzschließen von Eingängen des zweiten Paares von Signalpfaden zu dem gleichen Signalanschluss des ersten oder zweiten Arbiters.
  13. Einrichtung nach Anspruch 8, wobei der erste und der zweite Arbiter ausgelegt sind zum: Öffnen eines elektrischen Pfades eines Eingangs eines der Signalpfade des zweiten Paares von Signalpfaden; oder Verbinden jedes Eingangs des ersten Paares von Signalpfaden mit jedem Eingangsanschluss oder Ausgangsanschluss des ersten oder zweiten Arbiters.
  14. Einrichtung nach Anspruch 8, wobei der erste Modus ein Bandbreitenmodus ist, wobei der erste und der zweite Arbiter ausgelegt sind zum Bewirken der Propagation separater Signale auf dem ersten und zweiten Paar von Signalpfaden.
  15. Einrichtung nach Anspruch 8, wobei der zweite Modus ein Latenzmodus ist, wobei der erste und der zweite Arbiter ausgelegt sind zum Bewirken der Propagation erster gleicher Signale auf dem ersten Paar von Signalpfaden und zweiter gleicher Signale auf dem zweiten Paar von Signalpfaden.
  16. Einrichtung nach einem der Ansprüche 8 bis 15, wobei der erste Modus ein Energiemodus ist, wobei der erste und der zweite Arbiter ausgelegt sind zum Bewirken der Propagation von Signalen auf alternierenden Signalpfaden des ersten und zweiten Paares der Signalpaarpfade.
  17. System, das Folgendes umfasst: einen Speicher; einen Prozessorkern, der mit dem Speicher gekoppelt ist; eine Leistungsverwaltungseinheit (PMU), die mit dem Kern gekoppelt ist und ausgelegt ist zum Durchführen einer dynamischen Spannungs- und Frequenzskalierung auf dem Prozessorkern; ein Network-on-Chip (NOC), das Mesh- oder Ring-Netzwerke umfasst, wobei das NOC Folgendes beinhaltet: ein Netzwerk von Arbitern, die mit der PMU gekoppelt sind, wobei das Netzwerk von Arbitern Folgendes beinhaltet: einen ersten Arbiter, der kommunikativ mit der PMU gekoppelt ist und ausgelegt ist zum Empfangen der Modussteuerung; einen zweiten Arbiter, der kommunikativ mit der PMU gekoppelt ist und ausgelegt ist zum Empfangen der Modussteuerung; ein erstes Paar von Signalpfaden mit einem ersten Treiber und einem zweiten Treiber, die mit dem ersten Arbiter gekoppelt sind, und einem ersten Empfänger und einem zweiten Empfänger, die mit dem zweiten Arbiter gekoppelt sind; und ein zweites Paar von Signalpfaden mit einem dritten Treiber und einem vierten Treiber, die mit dem zweiten Arbiter gekoppelt sind, und einem dritten Empfänger und einem vierten Empfänger, die mit dem ersten Arbiter gekoppelt sind, wobei der erste und der zweite Arbiter dazu ausgelegt sind, den ersten und den zweiten Signalpfad so zu konfigurieren, dass sie sich gemäß der Modussteuerung in einem des ersten, zweiten oder dritten Modus befinden; und eine Drahtlosschnittstelle, die kommunikativ mit dem Prozessor gekoppelt ist.
  18. System nach Anspruch 17, wobei das Netzwerk von Arbitern eine Einrichtung nach einem der Ansprüche 9 bis 16 beinhaltet.
  19. System, das Folgendes umfasst: einen Speicher; einen Prozessor, der mit dem Speicher gekoppelt ist; und eine Drahtlosschnittstelle, die kommunikativ an den Prozessor gekoppelt ist, wobei der Prozessor eine Einrichtung nach einem der Ansprüche 1 bis 8 beinhaltet.
  20. Verfahren, das Folgendes umfasst: Erzeugen, durch eine Steuerung, eines Modussignals, wobei das Modussignal einen Betriebsmodus für erste und zweite von zwei oder mehr Interconnects angibt, wobei der Betriebsmodus eines von Folgendem beinhaltet: einen ersten Modus, einen zweiten Modus oder einen dritten Modus; Konfigurieren, durch einen ersten Arbiter, der kommunikativ mit der Steuerung gekoppelt ist, der ersten von zwei oder mehr Interconnects, sodass sie sich in einem des ersten, zweiten oder dritten Modus befinden; und Konfigurieren, durch einen zweiten Arbiter, der kommunikativ mit der Steuerung gekoppelt ist, der zweiten von zwei oder mehr Interconnects, sodass sie sich in einem gleichen Modus wie die ersten von zwei oder mehr Interconnects befinden.
  21. Verfahren nach Anspruch 20, das Folgendes umfasst: Kurzschließen von Eingängen der ersten von zwei oder mehr Interconnects; Verbinden von Eingängen der ersten von zwei oder mehr Interconnects mit Eingangsanschlüssen oder Ausgangsanschlüssen des ersten oder zweiten Arbiters; oder Trennen von Eingängen eines der ersten von zwei oder mehr Interconnects zu Eingangsanschlüssen oder Ausgangsanschlüssen des ersten oder zweiten Arbiters.
  22. Verfahren nach Anspruch 20, wobei der erste Modus ein Bandbreitenmodus ist, wobei das Verfahren Propagieren separater Signale auf den ersten und zweiten der zwei oder mehr Interconnects umfasst.
  23. Verfahren nach Anspruch 20, wobei der zweite Modus ein Latenzmodus ist, wobei das Verfahren Propagieren erster gleicher Signale auf den ersten von zwei oder mehr Interconnects und zweiter gleicher Signale auf den zweiten von zwei oder mehr Interconnects umfasst.
  24. Verfahren nach Anspruch 20, wobei der dritte Modus ein Energiemodus ist, wobei das Verfahren Propagieren von Signalen auf alternierenden ersten von zwei oder mehr Interconnects und alternierenden zweiten von zwei oder mehr Interconnects umfasst.
  25. Verfahren nach einem der Ansprüche 20 bis 24, umfassend Abschirmen mindestens eines der ersten von zwei oder mehr Interconnects und mindestens eines der zweiten von zwei oder mehr Interconnects durch eine Leistungsversorgungsleitung oder eine Masseleitung.
DE112020003941.2T 2019-09-19 2020-08-19 Rekonfigurierbare interconnect-einrichtung mit niedrigem overhead und hoher bandbreite und verfahren dafür Pending DE112020003941T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/576,687 2019-09-19
US16/576,687 US11734174B2 (en) 2019-09-19 2019-09-19 Low overhead, high bandwidth re-configurable interconnect apparatus and method
PCT/US2020/047063 WO2021055131A1 (en) 2019-09-19 2020-08-19 Low overhead, high bandwidth re-configurable interconnect apparatus and method

Publications (1)

Publication Number Publication Date
DE112020003941T5 true DE112020003941T5 (de) 2022-06-15

Family

ID=74881867

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112020003941.2T Pending DE112020003941T5 (de) 2019-09-19 2020-08-19 Rekonfigurierbare interconnect-einrichtung mit niedrigem overhead und hoher bandbreite und verfahren dafür

Country Status (5)

Country Link
US (1) US11734174B2 (de)
JP (1) JP2022548483A (de)
CN (1) CN114175006A (de)
DE (1) DE112020003941T5 (de)
WO (1) WO2021055131A1 (de)

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080104352A1 (en) * 2006-10-31 2008-05-01 Advanced Micro Devices, Inc. Memory system including a high-speed serial buffer
US7694031B2 (en) * 2006-10-31 2010-04-06 Globalfoundries Inc. Memory controller including a dual-mode memory interconnect
US20110022754A1 (en) 2007-12-06 2011-01-27 Technion Research & Development Foundation Ltd Bus enhanced network on chip
US8490110B2 (en) 2008-02-15 2013-07-16 International Business Machines Corporation Network on chip with a low latency, high bandwidth application messaging interconnect
US8601297B1 (en) * 2010-06-18 2013-12-03 Google Inc. Systems and methods for energy proportional multiprocessor networks
US9742630B2 (en) 2014-09-22 2017-08-22 Netspeed Systems Configurable router for a network on chip (NoC)
TWI531187B (zh) 2014-11-24 2016-04-21 財團法人工業技術研究院 晶片上網路之時序功率估算裝置與方法
US9785161B2 (en) 2015-08-24 2017-10-10 University Of Rochester Heterogeneous method for energy efficient distribution of on-chip power supplies and power network on-chip system for scalable power delivery
EP3685555A4 (de) * 2017-09-18 2021-06-23 INTEL Corporation Zeitcodiertes datenkommunikationsprotokoll, vorrichtung und verfahren zum erzeugen und empfangen eines datensignals
US11113223B1 (en) * 2018-04-03 2021-09-07 Xilinx, Inc. Dual mode interconnect

Also Published As

Publication number Publication date
US20210089448A1 (en) 2021-03-25
JP2022548483A (ja) 2022-11-21
US11734174B2 (en) 2023-08-22
WO2021055131A1 (en) 2021-03-25
CN114175006A (zh) 2022-03-11

Similar Documents

Publication Publication Date Title
DE102021124514A1 (de) Vorrichtung und verfahren für hierarchische leistungsverwaltung
DE102021126686A1 (de) Leistungsverwaltungseinrichtung und -verfahren für mehrebenenspeichersysteme
DE112017004214T5 (de) Integrierte Takttorschaltung mit eingebetteter NOR
DE112019002319T5 (de) Niederleistungstakt-gate-schaltung
DE102020134347A1 (de) Leistungsfeldeffekttransistor-topologie und bootstrapschaltung für invertierenden buck-boost-gs-gs-wandler
US20220302943A1 (en) Low power high sensitivity sense amplifier latch with complimentary outputs in reset mode
DE112020003722T5 (de) Digital-linearer hybrid-schaltkondensator-spannungsregler
DE102020131690A1 (de) Energieverwaltung für usb-typ-c-subsysteme
DE102021119090A1 (de) Einrichtung und verfahren für energieeffiziente kernspannungsauswahl
DE102020121319A1 (de) Verbundvorrichtung mit einem chiplet mit speicherbetriebsmitteln
DE102021121216A1 (de) Einrichtung und Verfahren zum Steuern eines Prozessorspitzensttroms
DE112020001948T5 (de) Resonanter on-package-schaltkondensator-spannungsregler mit hoher bandbreite
DE102020134338A1 (de) Inferenzbasierte schnellladung
DE112017005000T5 (de) Prozessorspannungssteuerung unter verwendung eines beweglichen mittelwerts
DE112020003941T5 (de) Rekonfigurierbare interconnect-einrichtung mit niedrigem overhead und hoher bandbreite und verfahren dafür
US11757434B2 (en) High performance fast Mux-D scan flip-flop
DE102021132804A1 (de) Ospm-richtlinienverfahren und -einrichtung zur dynamischen usb-c-modusauswahl
DE102021123826A1 (de) Verstärker mit niedriger leistung und bereichseffizienter verstärkungsbandbreite-verdreifachung
DE102020129505A1 (de) Klemmverfahren und -einrichtung mit digitalem linearem regler
US11791819B2 (en) Low power flip-flop with reduced parasitic capacitance
DE102022103790A1 (de) Einrichtung und verfahren zum detektieren einer leistungsversorgungssicherheitsanpassung und risikominderung
DE102021130628A1 (de) Sicherheitsverriegelungseinrichtung und verfahren für geistiges eigentum
DE102022105671A1 (de) Phasenregelkreis-unterstützte schnellstartvorrichtung und schnellstartverfahren
US11398814B2 (en) Low-power single-edge triggered flip-flop, and time borrowing internally stitched flip-flop
DE102020130888A1 (de) Doppelflankengetriggertes mux-d-scan-flip-flop