-
HINTERGRUND
-
Technischer Anwendungsbereich
-
Ausführungsformen beziehen sich im Allgemeinen auf die Verwaltung der Performance (bzw. Leistungsstärke) von Computing-Plattformen. Im Besonderen beziehen sich Ausführungsformen auf das Verwalten von Performance-Policys basierend auf der Skalierbarkeit der Workload.
-
Erörterung
-
Computing-Plattformen können die Prozessor-Performance durch Eingabe verschiedener Performancezustände verwalten, die von einer relativ hohen Betriebsfrequenz und einem relativ hohen Stromverbrauch (zum Beispiel maximale Performance) bis zu einer relativ geringen Betriebsfrequenz und einem relativ geringen Stromverbrauch (zum Beispiel minimale Performance) reichen. Die Bestimmung, welcher Performancezustand ausgewählt werden soll, kann herkömmlicherweise in einem Modus der bedarfsbasierten Umschaltung (DBS, Demand Based Switching) erfolgen, der auf das Erfüllen der Quality of Service(QoS)-Anforderungen der zu verarbeitenden Workloads beschränkt ist. Solch ein Ansatz kann unter bestimmten Umständen eine unzureichende Effizienz und Reaktionsfähigkeit liefern.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
Die verschiedenen Vorteile der Ausführungsformen der vorliegenden Erfindung werden für Fachleute durch Lektüre der folgenden Beschreibung und der Ansprüche im Anhang sowie durch Bezugnahme auf die folgenden Zeichnungen ersichtlich, bei denen:
-
1 ein Blockdiagramm eines Beispiels eines Schemas zum Verwalten der Performance gemäß einer Ausführungsform ist;
-
2 eine grafische Darstellung eines Beispiels einer Menge von Beziehungen der Workload-Skalierbarkeit gemäß einer Ausführungsform ist;
-
3 ein Ablaufdiagramm eines Beispiels eines Verfahrens zum Verwalten der Performance gemäß einer Ausführungsform ist; und
-
4 ein Blockdiagramm eines Beispiels einer Plattform gemäß einer Ausführungsform ist.
-
DETAILLIERTE BESCHREIBUNG
-
1 zeigt ein Schema zum Verwalten der Performance bei einer Computing-Plattform wie zum Beispiel einem Mobilgerät mit Computing-Funktionalität (zum Beispiel ein persönlicher digitaler Assistent/PDA, ein Laptop, ein Smart Tablet), Kommunikationsfunktionalität (zum Beispiel ein drahtloses Smartphone), Abbildungsfunktionalität, Funktionalität zur Wiedergabe von Medien (zum Beispiel Smart Television/TV) oder einer beliebigen Kombination davon (zum Beispiel mobiles Internet-Gerät/MID). Das dargestellte Schema kann auch bei einer stationären Plattform, wie zum Beispiel einem Server, einem Desktopcomputer, einer Workstation usw., verwendet werden. Im dargestellten Beispiel erhält ein Performance-Controller 10 Skalierbarkeitsinformationen 12 und Quality-of-Service(QoS)-Informationen 14, die der zu verarbeitenden Workload 18 zugeordnet sind und/oder deren Verarbeitung auf der Plattform geplant ist. Die Workload 18 kann den Aktivitäten zugeordnete Anweisungen/Operationen enthalten, wie zum Beispiel für die Netzwerkkommunikation (zum Beispiel Senden und/oder Empfangen), für die Speicherkommunikation (zum Beispiel Lesen und/oder Schreiben), für die berechnungsbezogene Verarbeitung (zum Beispiel allgemeine Operationen, Grafikoperationen) usw.
-
Die Skalierbarkeit kann als Verhältnis der prozentualen Veränderung in der Performance eines Systems oder Subsystems (angeforderte) zu einer prozentualen Veränderung in der durch die Workload erzielten geschätzten Performance (erbrachte) betrachtet werden. Wenn zum Beispiel eine Workload eine um 5% höhere Performance erfährt, wenn die Prozessor-Performance um 10% steigt, kann die Skalierbarkeit 5%/10% = 50% (0,5) betragen. Die realisierte Performance für eine bestimmte Workload kann auf verschiedene Weisen geschätzt werden. Die Bestimmung der Skalierbarkeit kann durchaus eine Funktion der Art der Workload und/oder der Hardwareverarbeitung der Workload sein. Zum Beispiel kann für eine nicht grafische Workload davon ausgegangen werden, dass sie keine Korrelation (somit 0% Skalierbarkeit) zur Betriebsfrequenz einer Grafikverarbeitungseinheit (GPU) besitzt, wohingegen die gleiche Workload eine Skalierbarkeit von 80% bezüglich des Core (Prozessorkern) der zentralen Verarbeitungseinheit (CPU) haben könnte, eine Skalierbarkeit von 50% bezüglich eines Netzwerkcontrollers und eine Skalierbarkeit von 70% bezüglich des Hauptspeichers.
-
Während die Betriebsfrequenz ein Beispiel einer angeforderten Performancemetrik sein kann, können auch weitere Parameter und/oder Variablen verwendet werden. Zum Beispiel können die Anzahl der aktiven Cores in einem Multi-Core-System, der Betrag an verfügbarem Speicher, die Betriebsspannung usw. ebenso zur Anforderung eines bestimmten Performance-Levels verwendet werden.
-
Der Performance-Controller 10 kann auch weitere Informationen, wie Stromverbrauchsinformationen 16 von einem oder mehreren Bereichen (zum Beispiel Geräte, Subsysteme, Module usw.) der Plattform, thermische Bedingungen/Beschränkungen der Plattform (nicht dargestellt) usw. erhalten, wobei die Skalierbarkeitsinformationen 12, QoS-Informationen 14, Stromverbrauchsinformationen 16 und thermische Bedingungen zur Verwaltung einer Performance-Policy 20 für die Plattform verwendet werden können. Wie ausführlicher dargestellt werden wird, kann die Berücksichtigung der Workload-Skalierbarkeitsinformationen 12 dem Performance-Controller 10 ermöglichen, effizientere Entscheidungen bezüglich der Performance-Policy 20 zu treffen und letztendlich die Plattform reaktionsfähiger zu machen. Es wird nun auf 2 Bezug genommen, wo eine grafische Darstellung 22 dargestellt ist, in der die Beziehung zwischen der angeforderten Performance und der erbrachten Performance für eine Gruppe von Workloads dargestellt ist. Im Besonderen können die Beziehungen in der graphischen Darstellung 22 als Hinweise auf die Skalierbarkeit der Workload in dem Sinne verstanden werden, dass höher skalierbare Workloads mehr Performance pro Einheit der angeforderten Performance als weniger skalierbare Workloads liefern können. Zum Beispiel kann eine Kurve 24 einer Workload entsprechen, die weniger skalierbar ist als eine Workload, die einer Kurve 26 entspricht, wobei die Skalierbarkeit eine Funktion eines von vielen Faktoren sein kann, wie der Netzwerkbandbreite, des verfügbaren Speichers, der Komplexität des Codes usw. Darüber hinaus können diese Faktoren effizient in einem „Zähler der produktiven Zyklen” quantifiziert werden, der die Bestimmung der Skalierbarkeit der Workload ermöglicht.
-
Somit kann das in dem vorliegenden Dokument beschriebene Workload-Skalierbarkeitsmodell mit dem Fahren eines Kraftfahrzeugs verglichen werden: Der Zähler der produktiven Zyklen kann Erkenntnisse ähnlich denen von Sensordaten, wie Kilometer pro Stunde-Daten, Benzinverbrauch pro Liter-Daten, Neigungsdaten der Straßen usw., bereitstellen, wobei ein Performance-Controller, wie ein Performance-Controller 10 (1), eine oder mehrere Steuerregister verwenden kann, um eine bestimmte Performance (zum Beispiel die Betriebsfrequenz, die Anzahl der aktiven Cores, der Betrag an verfügbarem Speicher, die Betriebsspannung) in ähnlicher Weise wie die Betätigung eines Gaspedals zu realisieren. Zum Beispiel kann der Performance-Controller mehr Performance anfordern, um eine bestimmte bereitgestellte Performance zu erhalten, wenn der Zähler der produktiven Zyklen angibt, dass die Workload eine relativ geringe Skalierbarkeit aufweist, so wie ein Fahrer das Gaspedal stärker durchdrücken würde, wenn eine relativ starke Steigung angefahren wird. Ebenso kann der Performance-Controller weniger Performance anfordern, um die gleiche gelieferte Performance aus einer besser skalierbaren Workload zu erhalten, so wie ein Fahrer das Gaspedal beim Fahren auf einer Straße ohne Steigung (oder Gefälle) leichter durchdrückt. Einfach ausgedrückt, können eine höhere Effizienz und weitere Vorteile erzielt werden, indem Kenntnisse über den erwarteten Performance-Level genutzt werden, der tatsächlich aus einem bestimmten angeforderten Performance-Level erzielt wurde.
-
Besonders hervorzuheben ist, dass der Performance-Controller ebenso Skalierbarkeitsinformationen zur Priorisierung von Workloads zur Nutzung begrenzter Leistungs-/thermischer Ressourcen mit maximaler Effizienz verwenden kann, wenn das System Beschränkungungen unterliegt. Die Priorisierung von skalierbaren Workloads kann dazu führen, dass über die Zeit mehr Aufgaben erledigt werden (d. h. höhere Effizienz). Eine höhere Skalierbarkeit kann jedoch manchmal auch zu einem höheren Stromverbrauch führen (zum Beispiel können CPU-gebundene Workloads die CPU-Leistung wesentlich erhöhen). Wenn daher ein Leistungs-/thermisches Problem für den Core (versus Plattform) entdeckt wird, ist die angemessenste Policy eine weniger skalierbare Workload zu priorisieren oder die skalierbare Workload mit einem geringeren Performance-Level (also Core-Leistung) auszuführen. Die Workload-Skalierbarkeitsinformationen können in jedem Fall dazu genutzt werden, die Performance-Policy wesentlich zu verbessern.
-
3 stellt ein Verfahren 30 der Verwaltung der Performance in einer Computing-Plattform dar. Das Verfahren 30 kann als eine Menge von Logikanweisungen implementiert werden, die in einem maschinen- oder computerlesbaren Speichermedium gespeichert werden, wie in einem Direktzugriffsspeicher (RAM, Random Access Memory), Festspeicher (ROM, Read Only Memory), programmierbaren ROM (PROM), Firmware, Flash-Speicher etc., in konfigurierbarer Logik, wie zum Beispiel programmierbaren Logik-Arrays (PLAs), feldprogrammierbaren Gate-Arrays (FPGAs), komplexen programmierbaren Logikgeräten (CPLDs), in Logik-Hardware mit fester Funktionalität unter Verwendung von Schaltungstechnologie wie zum Beispiel anwendungsspezifischen integrierten Schaltungen (ASIC, Application Specific Integrated Circuit), komplementärer Metalloxid-Halbleiter(CMOS, Complementary Metal Oxide Semiconductor)- oder Transistor-Transistor-Logik(TTL)-Technologie oder jeder beliebigen Kombination daraus. Zum Beispiel kann Computerprogrammcode zum Ausführen von in Verfahren 30 dargestellten Operationen in jeder beliebigen Kombination aus einer oder mehreren Programmiersprachen geschrieben sein, darunter objektorientierte Programmiersprachen wie Java, Smalltalk, C++ oder Ähnliche, und herkömmliche prozedurale Programmiersprachen, wie die Programmiersprache „C” oder ähnliche Programmiersprachen.
-
Der dargestellte Verarbeitungsblock 32 ermöglicht die Identifizierung einer Workload, wie zum Beispiel eine Netzwerkkommunikation, Speicherkommunikation und/oder einer rechenbasierten Verarbeitung einer Workload. Auf einen oder mehrere Hardware-Zähler kann in Block 34 zugegriffen werden, wobei die Zähler einen Zähler der produktiven Zyklen (z. B. PCNT), einen Zähler der tatsächlichen Zyklen (z. B. ACNT), einen nominalen Zähler (z. B. MCNT) usw. enthalten können. Der Zähler der produktiven Zyklen kann die Anzahl der nicht blockierten Zyklen seit dem letzten Zurücksetzen des Zählers bestimmen, und der Zähler der tatsächlichen Zyklen kann die Anzahl der Gesamtzyklen seit dem letzten Zurücksetzen des Zählers bestimmen. Was dies betrifft, kann ein sogenannter blockierter Zyklus anpassbar sein (zum Beispiel über einen programmierbaren Grenzwert), wobei der Zähler der resultierenden produktiven Zyklen verschiedene Polling(zyklische Abruf)-Intervalle und mehrere Consumer unterstützen kann und einfach in Workload-Skalierbarkeit konvertiert werden kann. In Block 36 kann die Skalierbarkeit der identifizierten Workload basierend auf den Zählerwerten bestimmt werden. Zum Beispiel kann das Verhältnis der produktiven Zyklen (zum Beispiel der PCNT-Wert) zu den tatsächlichen Zyklen (zum Beispiel der ACNT-Wert) eine nützliche Metrik der Produktivität/Skalierbarkeit der betreffenden Workload liefern. Somit würde in diesem Beispiel ein Verhältnis nahe 1 einer relativ hohen Skalierbarkeit entsprechen, wohingegen ein Verhältnis nahe 0 einer relativ geringen Skalierbarkeit entsprechen würde.
-
Eine Bestimmung von einer oder mehreren QoS-Bedingungen kann in Block 38 erfolgen, wobei die QoS-Bedingungen Latenzinformationen und andere qualitätsbezogene Informationen enthalten können. Darüber hinaus wird im dargestellten Block 40 ein Stromverbrauch von einem oder mehreren Bereichen der Plattform bestimmt, wobei die Stromverbrauchsinformationen im Besonderen für die Einstellungen der mobilen Plattform nützlich sein können. Im Block 40 können auch eine oder mehrere thermische Bedingungen für die Plattform bestimmt werden. Darüber hinaus kann in Block 42 die Workload priorisiert werden und ein Performance-Level basierend auf der Skalierbarkeit, den QoS-Bedingungen, den thermischen Bedingungen und dem Stromverbrauch festgelegt werden. Das Festlegen des Performance-Levels kann den Zugriff auf eine oder mehrere Steuerregister beinhalten. Das dargestellte Verfahren 30 bietet daher gegenüber reinen bedarfsbasierten Umschaltungslösungen (DBS), die auf QoS-Information beschränkt sind, erhebliche Vorteile bezüglich Effizienz und Reaktionsfähigkeit.
-
Variationen des dargestellten Verfahrens 30 können einfach erstellt werden. Wenn zum Beispiel die Skalierbarkeit relativ schnell in der Hardware ausgewertet werden kann, kann die Bestimmung der Workload in Block 32 überflüssig sein und kann daher umgangen werden. Darüber hinaus kann ein Betriebssystem (BS) QoS-Eingaben unabhängig davon bereitstellen, ob die Hardware die Identität oder den Typ der zu verarbeitenden Workload kennt. Darüber hinaus kann die Verwendung von blockierten gegenüber nicht-blockierten Zyklen, wie bezüglich der Blöcke 34 und 36 erörtert, ein Detail der Zählerimplementierung sein, die im Besonderen für einen CPU-Core geeignet ist. Andere Skalierbarkeitslösungen können jedoch für andere Arten von Geräten angemessener sein (zum Beispiel Speicher, Grafik, Netzwerkverbindung, Auslagern von Rechenaufgaben aus dem Kern (Uncore)).
-
Es wird auf 4 Bezug genommen, in der eine mobile Plattform 44 dargestellt ist. Die Plattform 44 kann eine Komponente eines Mobilgeräts mit Computing-Funktionalität (zum Beispiel PDA, Laptop, Smart Tablet), Kommunikationsfunktionalität (wie ein drahtloses Smartphone), Abbildungsfunktionalität, Funktionalität zur Wiedergabe von Medien (zum Beispiel Smart TV) oder einer beliebigen Kombination davon (z. B. MID) sein. Im dargestellten Beispiel weist die Plattform 44 einen Akku 46 zur Stromversorgung der Plattform 44, einen Systemspeicher 56, einen Netzwerkcontroller 58, ein oder mehrere Benutzerschnittstellen(UI)-Geräte 60, eine Solid State-Festplatte (SSD) 62 und ein System-on-Chip (SoC) 48 auf. Das SoC 48 kann einen Prozessor 50 und ein Eingabe/Ausgabe(E/A)-Modul 54 aufweisen, wobei der dargestellte Prozessor 50 einen integrierten Speichercontroller (IMC, Integrated Memory Controller) 52 und einen Core-Bereich mit einem oder mehreren Prozessor-Cores 64 aufweist. Der Prozessor 50 und das E/A-Modul 54 können in Abhängigkeit von der Situation alternativ auf getrennten Halbleiterbauteilen implementiert werden.
-
Das dargestellte E/A-Modul 54, das manchmal als Southbridge- oder South Complex eines Chipsatzes bezeichnet wird, fungiert als Host-Controller und kommuniziert mit dem Netzwerkcontroller 58, der außerhalb der Plattform bestehende Kommunikationsfunktionalität für eine breite Vielzahl von Einsatzzwecken bereitstellen könnte, wie zum Beispiel für ein Mobiltelefon (z. B. W-CDMA (UMTS), CDMA2000 (IS-856/IS-2000) usw.), WiFi (Wireless Fidelity, z. B. Institute of Electrical and Electronics Engineers/IEEE 802.11-2007, Wireless Local Area Network/LAN Medium Access Control(MAC)- und Physical Layer(PHY)-Spezifikationen), 4G LTE (Fourth Generation Long Term Evolution), Bluetooth (z. B. IEEE 802.15.1-2005, Wireless Personal Area Networks), WiMax (z. B. IEEE 802.16-2004, LAN/MAN Broadband Wireless LANS), GPS (Global Positioning System), Frequenzspreizung (z. B. 900 MHz) und andere Hochfrequenz(HF)-Telefonie-Einsatzbereiche. Das E/A-Modul 54 kann auch eine oder mehrere drahtlose Hardware-Schaltungsblöcke zur Unterstützung dieser Funktionalität aufweisen.
-
Der Systemspeicher 56 kann zum Beispiel DDR (Double Data Rate) SDRAM(dynamischen Schreiblese-Speicher mit wahlfreiem Zugriff, Synchronous Dynamic Random Access Memory, z. B. DDR3 SDRAM JEDEC Standard JESD79-3C, April 2008)-Module enthalten. Die Module des Systemspeichers 56 können in ein SIMM (Single Inline Memory Module), DIMM (Dual Inline Memory Module), SODIMM (Small Outline DIMM) usw. integriert sein. Das SSD 62 kann eine oder mehrere NAND(negierte AND)-Chips aufweisen und kann dazu verwendet werden, Datenspeicher in hoher Kapazität und/oder mit einem sehr hohen Grad an Parallelismus bereitzustellen. Ebenso sind Lösungen möglich, die NAND-Controller enthalten, die als separate ASIC-Controller implementiert werden, die mit dem E/A-Modul 54 über Standardbusse wie einem Serial ATA(SATA, z. B. SATA Rev. 3.0-Spezifikation, 27. Mai 2009, SATA International Organization/SATA-IO)-Bus oder einem PCI Express Graphics(PEG, z. B. Peripheral Components Interconnect/PCI Express ×16 Graphics 150W-ATX-Spezifikation 1.0, PCI Special Interest Group)-Bus verbunden sind. Das SSD 62 kann auch als USB(Universal Serial Bus, z. B. USB-Spezifikation 3.0, USB Implementers Forum)-Flash-Speichergerät verwendet werden.
-
Die dargestellten Cores 64 des Prozessors 50 können im Allgemeinen Workloads verarbeiten, die einer oder mehreren auf dem Prozessor 50 ausgeführten Anwendungen zugeordnet sind, wobei die Workloads mit Kommunikationen verbunden sein können, die über die Netzwerkcontroller 58 und/oder in Verbindung mit dem Systemspeicher 56 und/oder der SSD 62 durchgeführt werden. Im Besonderen können die Cores 64 dazu ausgestaltet sein, Workload-Logik 66, die der Plattform 44 zugeordnete Workloads identifiziert, Skalierbarkeitslogik 68, die die Skalierbarkeit der Workload bestimmt, und Verwaltungslogik 70, die die Performance-Policy der Plattform 44 wenigstens zum Teil basierend auf den Skalierbarkeiten verwaltet, auszuführen. Die Workload-Logik 66, die Skalierbarkeitslogik 68 und die Verwaltungslogik 70 können daher ähnlich wie der bereits erörterte Performance-Controller 10 (1) funktionieren.
-
In einem Beispiel weist das SoC 48 weiterhin einen Zähler 72 der produktiven Zyklen und einen Zähler 74 der tatsächlichen Zyklen auf, wobei die Skalierbarkeitslogik 68 auf die Zähler 72, 74 zugreift und das Verhältnis der produktiven Zyklen zu den tatsächlichen Zyklen bestimmt, um die Skalierbarkeiten zu bestimmen. Das SoC 48 kann auch eine oder mehrere Steuerregister 76 aufweisen, mit denen die Verwaltungslogik 70 die den Performance-Policys zugeordneten Performance-Levels festlegt. Zum Beispiel könnte die Verwaltungslogik 70 eine oder mehrere Parameterwerte in die Steuerregister 76 basierend auf den Workload-Skalierbarkeiten schreiben, um den Prozessor 50 und/oder die Plattform in einen oder mehrere ACPI(Advanced Configuration and Power Interface, z. B. ACPI-Spezifikation, Rev. 5.0a, 6. Dezember 2011)-Performance-Zustände zu versetzen.
-
Somit können die hier beschriebenen Techniken Reaktionen der Hardware (wie gewünschte/angeforderte versus erbrachte) erklären, ohne die Komplexität vieler skalierbarkeitsbezogener Faktoren, wie zum Beispiel der Netzwerkbandbreite, des verfügbaren Speichers, der Komplexität des Codes usw., darzulegen. Darüber hinaus können die allgemeinen Kosten für die Erzielung einer anderen Rate bei der Erledigung von Aufgaben in vielfältigen Einstellungen und Umgebungen formuliert werden.
-
Ausführungsformen können daher ein Verfahren aufweisen, das das Bestimmen der Skalierbarkeit von einer der Plattform zugeordneten Workload beinhaltet. Das Verfahren kann ebenso das Verwalten einer Performance-Policy der Plattform wenigstens teilweise basierend auf der Skalierbarkeit der Workload bereitstellen.
-
Ausführungsformen können ebenso ein nicht-flüchtiges computerlesbares Speichermedium mit einer Anweisungsmenge aufweisen, die bei der Ausführung durch einen Prozessor eine Plattform veranlassen, die Skalierbarkeit einer einer Plattform zugeordneten Workload zu bestimmen. Die Anweisungen können bei ihrer Ausführung auch die Plattform dazu veranlassen, eine Performance-Policy der Plattform wenigstens teilweise auf der Skalierbarkeit der Workload basierend zu verwalten.
-
Ausführungsformen können außerdem eine Vorrichtung mit Skalierbarkeitslogik zum Bestimmen einer Skalierbarkeit einer einer Plattform zugeordneten Workload aufweisen. Die Vorrichtung kann auch eine Verwaltungslogik zum Verwalten einer Performance-Policy der Plattform wenigstens teilweise auf der Skalierbarkeit der Workload basierend aufweisen.
-
Ausführungsformen können ebenso eine mobile Plattform mit einem Akku zur Stromversorgung der Plattform, einem Speichermodul und einem mit dem Speichermodul verbundenen SoC beinhalten, wobei das SoC Skalierbarkeitslogik aufweist, um eine Skalierbarkeit einer der Plattform zugeordneten Workload zu bestimmen. Das SoC kann auch eine Verwaltungslogik zum Verwalten einer Performance-Policy der Plattform wenigstens teilweise auf der Skalierbarkeit der Workload basierend aufweisen.
-
Ausführungsformen der vorliegenden Erfindung sind zur Verwendung mit allen Arten von integrierten Halbleiterschaltungs(„IC”, Integrated Circuit)-Chips einsetzbar. Zu den Beispielen dieser IC-Chips gehören, ohne darauf beschränkt zu sein, Prozessoren, Controller, Chipsatz-Komponenten, PLAs, Speicherchips, Netzwerkchips, SoCs, SSD/NAND-Controller-ASICs und ähnliche. Darüber hinaus werden in einigen Zeichnungen Signalleitungslinien durch Linien dargestellt. Einige mögen unterschiedlich sein, um grundlegendere Signalpfade anzugeben, eine Nummerierungskennzeichnung aufweisen, um eine Anzahl der grundlegenden Signalpfade anzugeben und/oder mit Pfeilen an einem Ende oder mehreren Enden versehen sein, um die primäre Richtung des Informationsflusses anzugeben. Dies sollte jedoch nicht als einschränkend ausgelegt werden. Stattdessen kann ein solches hinzugefügtes Detail in Verbindung mit einer oder mehreren beispielhaften Ausführungsformen verwendet werden, um das einfachere Verständnis einer Schaltung zu ermöglichen. Alle dargestellten Signalleitungen, ob mit weiteren oder ohne weitere Informationen, können de facto eine oder mehrere Signale aufweisen, die in mehrere Richtungen verlaufen können und können mit jedem geeigneten Typ von Signalschema implementiert werden, zum Beispiel digitale oder analoge Leitungen, die mit differentiellen Leitungspaaren, Glasfaserleitungen und/oder Single-Ended-Leitungen implementiert werden können.
-
Beispielhafte Größen/Modelle/Werte/Bereiche wurden angeführt, obwohl Ausführungsformen der vorliegenden Erfindung nicht auf diese beschränkt sind. Da Herstellungsverfahren (zum Beispiel Fotolithographie) im Laufe der Zeit immer ausgefeilter werden, wird davon ausgegangen, dass Geräte in kleineren Abmessungen hergestellt werden könnten. Darüber hinaus können bekannte Strom-/Masse-Verbindungen an IC-Chips und anderen Komponenten in den Figuren zur Vereinfachung der Darstellung und Erörterung dargestellt sein oder nicht, und um somit bestimmte Aspekte der Ausführungsformen der Erfindung nicht zu verschleiern. Weiterhin können Anordnungen in Blockdiagrammform dargestellt werden, um die Verschleierung von Ausführungsformen der Erfindung zu vermeiden, und ebenso angesichts der Tatsache, dass Besonderheiten bezüglich der Implementierung solcher Blockdiagramm-Anordnungen in hohem Maße von der Plattform abhängen, auf der die Ausführungsform implementiert werden soll, d. h., solche Besonderheiten sollten im Bereich der Fachleute liegen. Während spezifische Details (zum Beispiel Schaltungen) dargelegt werden, um beispielhafte Ausführungsformen der Erfindung zu beschreiben, sollte es für Fachleute offensichtlich sein, dass Ausführungsformen der Erfindung ohne oder mit einer Variation der spezifischen Details ausgeführt werden können. Die Beschreibung ist daher als veranschaulichend anstatt als einschränkend zu betrachten.
-
Der Begriff „verbunden” kann in dem vorliegenden Dokument zur Bezugnahme auf jede Art von Beziehung, direkt oder indirekt, zwischen den betreffenden Komponenten verwendet werden und kann auf elektrische, mechanische, Fluid-, optische elektromagnetische, elektromechanische oder andere Verbindungen angewendet werden. Darüber hinaus werden die Begriffe „erste”, „zweite” usw. hier nur zur Erleichterung der Erörterung verwendet und tragen keine bestimmte zeitliche oder chronologische Bedeutung, sofern nicht anderweitig angegeben.
-
Für Fachleute ist aus der obigen Beschreibung ersichtlich, dass die breitgefächerten Techniken der Ausführungsformen der vorliegenden Erfindung in einer Vielzahl verschiedener Formen implementiert werden können. Daher soll, wenngleich die Ausführungsformen der Erfindung in Verbindung mit speziellen Beispielen davon beschrieben wurden, der echte Umfang der Ausführungsformen der Erfindung hier nicht beschränkt sein, da andere Modifikationen für einen qualifizierten Experten bei einem Studium der Zeichnungen, der Beschreibung und den folgenden Ansprüchen erkennbar werden.